@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/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,300;1,400;1,500;1,700&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; }

@font-face {
  font-family: "fontello-jelawrence";
  src: url("/template/content/development/css/webfonts/fontello-jelawrence/fontello-jelawrence.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-jelawrence/fontello-jelawrence.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-jelawrence/fontello-jelawrence.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-jelawrence/fontello-jelawrence.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-jelawrence/fontello-jelawrence.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: #E93330;
    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: #E93330;
  font-size: 1.625rem;
  font-family: "Roboto Condensed", "Roboto Condensed 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; }

h2 {
  font-size: 1.375rem;
  font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  line-height: 1.5; }
  h2.preset1 {
    padding: 10px 0;
    margin: 0 0 25px;
    color: #ffffff;
    background-color: #000000;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: normal;
    word-spacing: normal;
    border-radius: 0;
    border-bottom: 0; }
  h2.preset2 {
    margin: 0;
    color: #E93330;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: normal;
    word-spacing: normal; }
  h2.preset3 {
    margin: 0;
    padding: 0 0 5px;
    font-size: 1.375rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: normal;
    word-spacing: normal;
    border-radius: 0;
    position: relative;
    color: #E93330;
    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: 7px 0;
    margin: 0 0 15px;
    color: #ffffff;
    background-color: #000000;
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    border-radius: 0; }
    @media print, screen and (min-width: 81.25em) {
      h2.preset4 {
        margin: 0 0 50px; } }

h3 {
  margin: 0;
  font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  font-size: 1.125rem;
  font-weight: 600;
  color: #E93330; }
  h3.preset1 {
    width: 100%;
    margin: 0;
    padding: 10px 0;
    background-color: #000000;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0.2px;
    border-radius: 0;
    text-transform: uppercase;
    color: #ffffff; }
  h3.preset2 {
    position: relative;
    margin: 0 0 25px;
    padding: 0 0 10px;
    font-size: 1.375rem;
    text-transform: uppercase;
    color: #E93330; }
    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.125rem;
  font-weight: 400;
  font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }

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

h6 {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 400;
  font-family: "Roboto Condensed", "Roboto Condensed 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, #E93330);
  font-weight: inherit;
  font-size: 1.125rem;
  -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: #E93330;
    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: 600;
    font-style: italic; }
    a.news-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: #000000;
      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: #E93330;
        -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: #ff6f20; }
  a.blog-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 600;
    font-style: italic; }
    a.blog-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: #000000;
      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: #E93330;
        -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: #ff6f20; }
  a.events-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 600;
    font-style: italic; }
    a.events-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: #000000;
      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: #E93330;
        -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: #ff6f20; }
  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, #ff6f20);
    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: #ff6f20;
      -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.2; }
    .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: #E93330;
      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: "Roboto Condensed", "Roboto Condensed 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: 81.25em) {
    .table-footer-spacer.preset-1 {
      margin-bottom: 40px; } }

.table-footer-spacer.preset-2 {
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    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: 81.25em) {
    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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }
  table.preset-1 {
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1 {
        margin: 15px 0; } }
    table.preset-1 td, table.preset-1 th {
      padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      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: 81.25em) {
        table.preset-1 tbody:before {
          margin: 10px; } }
    table.preset-1 tbody tr {
      padding: 5px; }
      @media screen and (min-width: 81.25em) {
        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: 81.25em) {
        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: #ff6f20;
        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: #E93330; }
    table.preset-1 tbody a:not(.pdf-download) {
      font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    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: 81.25em) {
      table.preset-3 td, table.preset-3 th {
        padding: 1px 5px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3.row-additional-padding td {
      padding-top: 20px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3 tbody:before {
      content: '';
      display: block;
      margin: 10px; } }
  table.preset-3 tbody tr {
    padding: 10px 20px; }
    @media screen and (min-width: 81.25em) {
      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: 81.25em) {
      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: #ff6f20;
      text-decoration: underline; }
    table.preset-3 tbody a:active {
      color: #E93330; }
  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: 81.25em) {
      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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
      table .failed-reason {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  @media screen and (min-width: 81.25em) {
    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: 81.25em) {
    table .order-total-col, table th.csv-import-col {
      width: 200px; } }
  @media print, screen and (max-width: 81.24875em) {
    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: #ff6f20;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .remove-button:active:before {
    color: #E93330; }
  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: 81.25em) {
      table .expired-text {
        position: absolute; } }
  @media screen and (min-width: 81.25em) {
    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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }

.comparison-table-container .comparison-table-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .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: #E93330;
      color: #ffffff;
      border-color: #E93330;
      -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: 81.25em) {
    [comparison-table] .comparison-values td + td, [comparison-table] th + th {
      display: table-cell; } }

[comparison-table] thead {
  display: none; }
  @media screen and (min-width: 81.25em) {
    [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: 81.25em) {
    [comparison-table] tbody.comparison-values {
      border: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    [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: 81.25em) {
      [comparison-table] tbody.comparison-values td {
        margin: 0;
        border: 0; } }
    [comparison-table] tbody.comparison-values td:nth-child(1) {
      width: 58%;
      font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }
      @media print, screen and (max-width: 81.24875em) {
        [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: 81.25em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          width: 15%;
          border-right: 1px solid #dadada; } }

@media print, screen and (max-width: 81.24875em) {
  [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: 81.25em) {
    [comparison-table] tbody.comparison-summary {
      display: none; } }
  [comparison-table] tbody.comparison-summary .comparison-column-heading {
    width: 58%; }

@media print, screen and (max-width: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  table.stack.responsive-table td.column-empty {
    display: none; } }

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

@media print, screen and (max-width: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  [responsive-reveal] {
    display: none; } }

.responsive-reveal-table {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .responsive-reveal-table {
      display: none; } }
  @media print, screen and (max-width: 81.24875em) {
    .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: #E93330; }
    .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: "fontello-jelawrence";
      font-size: 18px;
      color: #E93330; }
  .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: "fontello-jelawrence";
    font-size: 8px;
    color: #959595; }
  .table-sort-col button:hover {
    color: #ff6f20;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .table-sort-col button:hover:after {
      color: #ff6f20;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .table-sort-col button:active {
    color: #d8b7b6; }
    .table-sort-col button:active:after {
      color: #d8b7b6; }

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: 81.24875em) {
    .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: 81.25em) {
    .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: 81.25em) {
  table.reusable-card-table.payment .remove-col {
    width: 10%; } }

@media screen and (min-width: 81.25em) {
  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: 81.25em) {
    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: 81.25em) {
  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: 81.25em) {
  table.audit-trail-entries .updated-col, table.audit-trail-entries .updated-by-col {
    width: 19%; } }

@media screen and (min-width: 81.25em) {
  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: 81.25em) {
      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: 81.25em) {
    table.audit-trail-entry .revision-col {
      width: 5%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-by-col {
      width: 17%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-col {
      width: 11%; } }
  @media screen and (min-width: 81.25em) {
    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: 81.25em) {
    .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: 81.25em) {
  .column-content-container .control.text input {
    max-width: 360px; } }

@media screen and (min-width: 81.25em) {
  .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: 1.125rem; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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.9375rem;
      font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .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: #dadada; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .field[class^="field small-"] label, .field[class^="field medium-"] label, .field[class^="field large-"] label {
        width: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
    .field.large-2 {
      width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .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: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    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.5;
    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: #E93330;
        border-radius: 5px; }
  .additional-input-info ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.5; }
    .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: 1.125rem;
    font-weight: 400;
    line-height: 1.5; }
  .additional-input-info ul + h1, .additional-input-info ol + h1 {
    margin-top: 30px; }
  .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: 0; }
  .additional-input-info ul + h4, .additional-input-info ol + h4 {
    margin-top: 0; }
  .additional-input-info ul + h5, .additional-input-info ol + h5 {
    margin-top: 0; }
  .additional-input-info ul + h6, .additional-input-info ol + h6 {
    margin-top: 0; }
  .additional-input-info dl {
    text-align: left; }
  .additional-input-info p, .additional-input-info a {
    font-size: 1.125rem; }
  .additional-input-info a:not([class*="-button"]) {
    font-size: 1.125rem; }
  .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: 81.25em) {
    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: #dadada; }
  input[type=password] + button {
    border-radius: 0 0 0 0; }

.password-reveal {
  width: 45px;
  height: 45px;
  position: relative;
  display: inline-block;
  border-color: #a0a0a0;
  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: 81.25em) {
    .password-reveal:hover:before {
      color: #ff6f20;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  .password-reveal.active:before {
    color: #ff6f20;
    -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: #ffffff;
  background-color: #E93330;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .action-button:disabled:hover, .action-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
    background-color: rgba(236, 144, 142, 0.2);
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
        border-color: #E93330;
        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: #E93330;
      background-color: #ffffff;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    .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: #ff6f20;
    background-color: rgba(255, 111, 32, 0.2);
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #ff6f20;
        border-color: #ff6f20;
        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: #ff6f20;
      background-color: #ffffff;
      border-color: #ff6f20;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .action-button.warning:disabled:hover, .action-button.warning.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #ff0101;
    background-color: #ffdfdf;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #ff0101;
        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: #E93330;
      background-color: #ffffff;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .action-button.alert:disabled:hover, .action-button.alert.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #ffffff;
  background-color: #E93330;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .button1:disabled:hover, .button1.disabled:hover, .primary-button:disabled:hover, .primary-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: white;
      border-color: #E93330;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .secondary-button:disabled:hover, .secondary-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #b20c0c;
      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: #484848;
    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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .tertiary-button:disabled:hover, .tertiary-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  border-color: #E93330;
  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: 81.25em) {
    .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: #ffffff;
      background-color: #E93330;
      border-color: #dadada;
      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: #ffffff;
    background-color: #484848;
    border-color: #dadada;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .quaternary-button:disabled:hover, .quaternary-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
  background-color: #eeeeee;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: #E93330;
      border-color: #E93330;
      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: #E93330;
    background-color: #ffffff;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .quinary-button:disabled:hover, .quinary-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
  background-color: transparent;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  border-color: #E93330;
  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: 81.25em) {
    .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: #000000;
      background-color: #E93330;
      border-color: hover-color((default: transparent, hover: #E93330, active: #ff6f20, 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: #ff6f20;
    background-color: #ff6f20;
    border-color: #ff6f20;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .cms-button:disabled:hover, .cms-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: 1.125rem;
  font-weight: 600;
  text-transform: uppercase; }
  .cms-proceed-button:after {
    content: "";
    font-size: 10px;
    font-family: "fontello-jelawrence";
    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;
  text-transform: uppercase;
  letter-spacing: 0.1px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: white;
      border-color: #E93330;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .location-button:hover:after, .location-button.hover:after {
        color: #E93330;
        -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: #E93330;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    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: rgba(218, 218, 218, 0.7); }
  .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: #ec908e;
    -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: white; }
  .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: white;
  background-color: #da7e7c;
  border: 1px solid white; }
  .third-party-tracking-button:hover {
    color: #E93330;
    background-color: white;
    border-color: #E93330; }
    .third-party-tracking-button:hover:after {
      color: #E93330; }
  .third-party-tracking-button:active {
    color: #ff6f20;
    background-color: #ffffff;
    border-color: #ffffff; }
    .third-party-tracking-button:active:after {
      color: #ff6f20; }
  .third-party-tracking-button:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: white; }

.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: #da7e7c;
  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: 81.25em) {
    .third-party-tracking-button-2 {
      padding: 3px 5px;
      font-size: 0.75rem; } }
  .third-party-tracking-button-2:hover {
    color: #ffffff;
    background-color: #E93330;
    border-color: #E93330;
    -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: #E93330;
    background-color: white;
    border-color: #E93330; }
    .third-party-tracking-button-2:active:after {
      color: #E93330; }
  .third-party-tracking-button-2:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #da7e7c;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .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: #E93330;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: white;
      border-color: #E93330;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .print-element-button:hover:before, .print-element-button.hover:before {
        color: #E93330;
        -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: #484848;
    border-color: #484848;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .print-element-button:active:before, .print-element-button.active:before {
      color: #E93330; }
  .print-element-button:disabled, .print-element-button.disabled, .print-element-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: rgba(218, 218, 218, 0.7);
    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: rgba(218, 218, 218, 0.7); }
  .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: #ec908e;
    -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;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    #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: #E93330;
      border-color: #E93330;
      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: #ff6f20;
    border-color: #ff6f20;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  #paypal-checkout-button:disabled:hover, #paypal-checkout-button.disabled:hover, .paypal-button:disabled:hover, .paypal-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  #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: 81.25em) {
    .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: 81.24875em) {
      .page-buttons-container .button-container {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
          margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
      .page-buttons-container .button-container [class*="-button"] {
        width: 100%; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: #E93330;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .basket-add-button.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #000000;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.icon:not(.disabled):active:before {
    color: #E93330; }
  .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: #E93330;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  border-color: #E93330;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #E93330;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .basket-add-button.text-based:disabled:hover, .basket-add-button.text-based.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .addToBasket.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #000000;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .addToBasket.icon:not(.disabled):active:before {
    color: #E93330; }
  .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: #E93330;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  border-color: #E93330;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #E93330;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .add-to-basket:not(.preset-2):disabled:hover, .add-to-basket:not(.preset-2).disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #ffffff;
  background-color: #E93330;
  border-width: 2px;
  font-size: 0.72917rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .add-to-basket.preset-2:disabled:hover, .add-to-basket.preset-2.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #ff6f20 !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: #ff6f20;
  -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: #ffffff;
  background-color: #E93330;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #E93330;
    background-color: #ffffff;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    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: rgba(218, 218, 218, 0.7); }
  .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: #ffffff;
  background-color: #E93330;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #E93330;
    background-color: #ffffff;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    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: rgba(218, 218, 218, 0.7); }
  .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: #ffffff;
    background-color: #E93330;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #000000;
        border-color: #000000;
        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: #E93330;
      background-color: #ffffff;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .enquiry-button-container .enquiry-button:disabled:hover, .enquiry-button-container .enquiry-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #ff6f20;
  font-size: 23px;
  font-family: "Font Awesome Regular";
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

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

.favouritesContainer a:active:after {
  color: #ff6f20;
  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: 1.0625rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .favouritesContainer.preset1 a:not(.disabled):hover {
      color: #ff6f20;
      -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: 81.24875em) {
    .control {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (min-width: 81.25em) {
    .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: #dadada;
    -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: #dadada;
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .control.is-focused .input-prefix-icon {
    border-color: #dadada;
    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: #a0a0a0;
    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: #E93330;
    -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: 81.24875em) {
      .control.read-only-input:not(.text):hover:after, .control.disabled-input:not(.text):hover:after {
        color: #aeaeae;
        -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: 81.25em) {
      .control.read-only-input:hover:after, .control.disabled-input:hover:after {
        color: #aeaeae;
        -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: 81.25em) {
    .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: #a0a0a0; }
    .control.checkbox.small input + span:before {
      opacity: 0; }
  .control.checkbox.small input[readonly] + span, .control.checkbox.small input[disabled] {
    border-color: rgba(218, 218, 218, 0.7);
    background-color: #aeaeae; }
    .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: #dadada;
    -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: #dadada; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #dadada; }
  .control.checkbox.small input + span:focus {
    outline: none;
    border-color: #dadada;
    -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: #dadada;
    -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: #ff6f20; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #dadada; }
  .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: #a0a0a0; }
    .control.checkbox:not(.small) input + span:before {
      opacity: 0; }
  .control.checkbox:not(.small) input[readonly] + span, .control.checkbox:not(.small) input[disabled] {
    border-color: rgba(218, 218, 218, 0.7);
    background-color: #aeaeae; }
    .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: #dadada;
    -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: #dadada; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #dadada; }
  .control.checkbox:not(.small) input + span:focus {
    outline: none;
    border-color: #dadada;
    -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: #dadada;
    -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: #ff6f20; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #dadada; }
  .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: #ff6f20;
      -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 #a0a0a0;
    -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: #dadada; }
    .control.radio:not(.checkbox) span.radio:active {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:active:after {
        background-color: #ff6f20; }
  .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: #a0a0a0; }
    .control.radio.checkbox input + span:before {
      opacity: 0; }
  .control.radio.checkbox input[readonly] + span, .control.radio.checkbox input[disabled] {
    border-color: rgba(218, 218, 218, 0.7);
    background-color: #aeaeae; }
    .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: #dadada;
    -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: #dadada; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #dadada; }
  .control.radio.checkbox input + span:focus {
    outline: none;
    border-color: #dadada;
    -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: #dadada;
    -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: #ff6f20; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #dadada; }
  .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: #aeaeae;
        border-color: rgba(218, 218, 218, 0.7);
        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: #aeaeae; }
        .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: rgba(218, 218, 218, 0.7); }
      .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: #dadada; }
    .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: #dadada; }
      .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: #dadada;
        -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: #dadada; }
      .control.select.active .select-arrow, .control.select.active:hover .select-arrow {
        background-color: #ff6f20;
        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: #dadada;
        -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: #a0a0a0; }
    .control.select.dropdown-top .selected-option {
      border-top-color: #a0a0a0; }
    .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: 9px;
        font-family: "fontello-jelawrence";
        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 #a0a0a0;
      font-family: "Roboto Condensed", "Roboto Condensed 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: 81.25em) {
          .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: #dadada; }
      .control.select .selected-option:focus {
        border-color: #a0a0a0; }
    .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: #E93330;
        color: #ffffff;
        font-weight: 600; }
      .control.select .control-select-option[disabled], .control.select .control-select-option.disabled {
        background-color: #aeaeae;
        color: #6d6d6d;
        cursor: no-drop; }
      .control.select .control-select-option:hover {
        color: #ffffff;
        background-color: #ff6f20;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .control.select .control-select-option:active {
        background-color: #da7e7c;
        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: 81.25em) {
        .control.select .control-select-container {
          width: auto; } }
    .control.select .control-select-dropdown {
      width: 100%;
      position: relative; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-dropdown {
          height: 45px; } }
      .control.select .control-select-dropdown:hover .select-arrow {
        background-color: #E93330; }
        .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: #dadada;
        -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: #dadada; }
            .control.text input:hover.is-invalid-input:focus + button {
              border-color: #dadada; }
          .control.text input:hover.is-invalid-input + button {
            border-color: #b20c0c; }
        .control.text input:hover:not(.is-invalid-input) + button {
          border-color: #dadada;
          -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 #E93330;
    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 #E93330;
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .control.file {
        width: 700px !important;
        padding: 38px 10px; } }
    .control.file:hover {
      background-color: transparent;
      border-color: #E93330;
      -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: #E93330;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
      .control.file:hover span.label {
        color: #E93330;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.file:hover .file-upload-icon:before {
        color: #E93330; }
    .control.file:active, .control.file.is-ready {
      background-color: rgba(236, 144, 142, 0.1);
      border-color: rgba(233, 51, 48, 0.7); }
      .control.file:active:after, .control.file.is-ready:after {
        border-color: rgba(233, 51, 48, 0.7); }
    .control.file.is-ready .file-upload-icon:before {
      content: "";
      color: rgba(233, 51, 48, 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: #E93330;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .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: #E93330; }
      .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: 81.25em) {
        .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: #ff6f20;
    color: #ffffff; } }

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

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

input::-webkit-input-placeholder {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 400; }

input::-moz-placeholder {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 400; }

input:-ms-input-placeholder {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 400; }

input::-ms-input-placeholder {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 400; }

input::placeholder {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 400; }

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: #a0a0a0;
    border-width: 1px;
    color: rgba(233, 51, 48, 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(233, 51, 48, 0.6);
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    input.mail-input + button:hover {
      color: #ffffff;
      border-color: #a0a0a0;
      background-color: rgba(233, 51, 48, 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: #dadada;
      background-color: #ff6f20;
      -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: #E93330; }
    @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: #ff6f20; } }
    .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: #E93330; } }
    .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: #ff6f20; }
  .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: 1.125rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .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: rgba(218, 218, 218, 0.7); }
  .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: 1.125rem;
    text-align: center;
    outline: none;
    display: block;
    margin: 0;
    border-color: #a0a0a0;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .input-number-group .input-number:hover {
      border-color: #dadada;
      -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: #a0a0a0; }
        .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: 81.25em) {
    .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: 1.125rem;
    font-weight: 600;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .quantity-selector-container .label {
        margin-right: 15px; } }

span.form-error {
  width: 100%;
  margin: 0;
  text-align: center;
  border: 0; }
  @media screen and (min-width: 81.25em) {
    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: 1.125rem;
      font-weight: 500;
      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: #E93330;
        border-radius: 5px; }
    .group-form-error ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 1.125rem; }
  .group-form-error p, .group-form-error a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 1.125rem; }
  .group-form-error a {
    text-decoration: underline; }
  @media screen and (min-width: 81.25em) {
    .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: #E93330;
        border-radius: 5px; }
    .error-block ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 1.125rem; }
  .error-block p, .error-block a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 1.125rem; }
  .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: #dadada; }
  .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: #E93330; }

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

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

label input:focus + button.inline-button:hover {
  border-color: #dadada;
  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: 81.25em) {
    input.lookup-key + button {
      height: 45px; } }
  input.lookup-key.is-valid-input + button {
    background-color: #ec908e;
    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: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1px;
  word-spacing: 2px;
  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: 81.25em) {
    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: #ff6f20;
      border-color: #ff6f20;
      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: #ec908e;
    border-color: #ec908e;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  button.lookup-submit:disabled:hover, button.lookup-submit.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  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: #E93330;
      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: #E93330;
      font-weight: 700;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .lookup-results button:hover, .lookup-results a:hover {
      color: #E93330;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .lookup-results button:active, .lookup-results a:active {
      color: #ff6f20; }
      .lookup-results button:active span, .lookup-results a:active span {
        color: #ff6f20;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  @media screen and (min-width: 81.25em) {
    .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: #a0a0a0;
  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: #dadada;
    -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: #dadada;
      background-color: #E93330; }
      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: #dadada;
      background-color: #eeeeee;
      -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: #000000; }
  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: "Roboto Condensed", "Roboto Condensed 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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }
  input[type=search]:-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }
  input[type=search]::-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Roboto Condensed", "Roboto Condensed 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: "Roboto Condensed", "Roboto Condensed 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: #a0a0a0;
    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: #E93330;
      -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: #eeeeee; }
      input[type=search] + button:active:before {
        color: #000000; }
    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: #000000;
      -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: 81.25em) {
    .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: 1.0625rem;
    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: 81.25em) {
    .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: 81.25em) {
  .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 #a0a0a0;
  border-radius: 0; }
  form.single-column .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      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: 81.25em) {
    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: 81.25em) {
    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: #E93330;
    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: 81.25em) {
      form fieldset h3, form fieldset div > legend {
        max-width: 640px; } }
  form fieldset h2, form fieldset legend {
    width: 100%;
    display: block;
    padding: 7px 0;
    margin: 0 0 10px;
    color: #ffffff;
    background-color: #000000;
    font-weight: 600;
    font-size: 1.125rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px; }
    form fieldset h2 + .sub-group-name, form fieldset legend + .sub-group-name {
      margin-top: -10px; }
  form fieldset legend {
    font-family: "Roboto Condensed", "Roboto Condensed 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: 7px 0;
    background-color: #eeeeee;
    color: #000000;
    text-align: center; }
    form fieldset .sub-group-name + .required-prompt {
      margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset .error-block {
      margin: 0 auto 10px; } }

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

.column-content-container {
  margin: 10px 0;
  background-color: #ffffff;
  border: 1px solid #a0a0a0;
  -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: 81.25em) {
    .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: white;
    border-radius: 0 0 0 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .column-content-container .field {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.24875em) {
          .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: 81.25em) {
        .confirmation-prompt-container .content-container .content .content-container {
          margin: 0; } }
    .confirmation-prompt-container .content-container .content p {
      margin: var(--indent-margin, 0);
      font-size: 1.125rem;
      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: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
            .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.24875em) {
        .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: 81.24875em) {
        .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
      font-size: 1.125rem;
      -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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.24875em) {
        .confirmation-prompt-container .content-container .content > p:first-of-type {
          padding-top: 24px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
          .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: 81.25em) {
      .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: #E93330;
        background-color: rgba(236, 144, 142, 0.2);
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 0.2px;
        word-spacing: 2px;
        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: 81.25em) {
          .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: #E93330;
            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: #ffffff;
          border-color: #ffffff;
          -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: rgba(218, 218, 218, 0.7);
          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: rgba(218, 218, 218, 0.7); }
        .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: #ff0101;
        background-color: #ffdfdf;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        text-transform: uppercase;
        letter-spacing: 0.2px;
        word-spacing: 2px;
        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: 81.25em) {
          .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: #E93330;
          background-color: #ffffff;
          border-color: #ffffff;
          -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: rgba(218, 218, 218, 0.7);
          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: rgba(218, 218, 218, 0.7); }
        .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: #E93330;
      background-color: #ffffff;
      border-width: 2px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-align: center;
      border-style: solid;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 0.2px;
      word-spacing: 2px;
      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: 81.25em) {
        .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: #E93330;
        border-color: #E93330;
        -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: rgba(218, 218, 218, 0.7);
        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: rgba(218, 218, 218, 0.7); }
      .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: #E93330;
    -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: #000000;
    -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: #484848;
    -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: 81.25em) {
    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: 81.24875em) {
        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: 81.25em) {
        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: 81.25em) {
        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: #000000; }
  @media print, screen and (max-width: 81.24875em) {
    header .header-container:before {
      content: '';
      width: 99%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #E93330;
      -webkit-transition: width 0.8s;
      transition: width 0.8s; } }
  @media screen and (min-width: 81.25em) {
    header .header-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      border-bottom: 0; } }

.header-mobile-toggle-bar {
  max-width: 70%;
  margin-left: auto; }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.25em) {
    .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: #E93330;
      -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: #ff6f20;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .header-mobile-toggle-bar a[href^="tel:"] {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.125rem; }
    .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.24875em) {
    .header-mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 81.25em) {
    .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: #E93330;
    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: 81.24875em) {
      .header-mobile-menu .content-container ul.menu > li > a {
        padding: 7.5px 5px 7.5px 16px;
        text-transform: uppercase; } }
    @media screen and (min-width: 81.25em) {
      .header-mobile-menu .content-container {
        padding: 0; } }

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

.header-content-container {
  max-width: 34%;
  position: relative;
  padding: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.25em) {
    .header-content-container {
      max-width: 1300px;
      width: 100%;
      display: grid;
      display: -ms-grid;
      grid-template-columns: 1fr 46.2%;
      grid-template-rows: 1fr;
      margin: auto;
      padding: 0; } }
  @media screen and (min-width: 100em) {
    .header-content-container {
      max-width: 1300px; } }
  @media screen and (min-width: 120em) {
    .header-content-container {
      max-width: 1300px; } }

@media print, screen and (max-width: 81.24875em) {
  .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: 81.25em) {
  .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: 81.25em) {
    .header-content-center {
      padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .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: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
  padding: 0 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .logoContainer a, .logo-container a {
        margin: 0; } }
  .logoContainer img, .logo-container img {
    width: 200px; }
    @media screen and (min-width: 81.25em) {
      .logoContainer img, .logo-container img {
        width: 610px;
        height: auto;
        margin: 0; } }
  .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .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: #ffffff;
    font-weight: 400;
    font-size: 1.1875rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: 2.2;
    white-space: nowrap; }
    .header-tag-line-container p:is(:empty) {
      padding: 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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-tag-line-container.lower {
    display: none; }

.header-tagline {
  display: none;
  margin: 0;
  padding: 8px 0;
  color: #ffffff;
  font-weight: 400;
  font-size: 1.1875rem;
  text-transform: none;
  letter-spacing: 0;
  line-height: 2.2;
  white-space: nowrap; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .header-search-container {
      -ms-grid-column: 2;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.25em) {
      .header-search-container .header-predictive-search {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    .header-search-container .header-predictive-search .callbackContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .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: 700; }
    .header-search-container input[type=search]::-moz-placeholder {
      font-size: 1.0625rem;
      font-weight: 700; }
    .header-search-container input[type=search]:-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 700; }
    .header-search-container input[type=search]::-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 700; }
    .header-search-container input[type=search]::placeholder {
      font-size: 1.0625rem;
      font-weight: 700; }
    .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: 81.24875em) {
      .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: #E93330;
          -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: #ff6f20;
            -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: 81.25em) {
    .header-search-container .ac-results {
      width: 700px;
      margin-left: -40px; } }
  .header-search-container .results-content-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
    .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: #ff6f20;
      -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: #E93330; }

.header-predictive-search .heading4 {
  margin-bottom: 3px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 6px 15px;
  background-color: #E93330;
  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: 81.25em) {
    .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: 81.25em) {
      .header-call-to-action-container .not-logged-in-container {
        max-width: 255px;
        width: 100%;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
  .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: 81.25em) {
    .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: #ff6f20;
    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: #ff6f20;
  border: 1px solid #ff6f20; }

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

.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: #ff6f20; }
  .header-basket-container.alert .basket-desktop-summary:active:after {
    color: #ff6f20; }

.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: 81.25em) {
    .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: #E93330;
    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: #000000;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:hover .update-message {
      color: #000000;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:active .basket-icon:before {
      color: #E93330; }
    .header-basket-container .summary-recently-added a:active .update-message {
      color: #E93330; }
    .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: #E93330; }
    .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: 81.25em) {
  .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: white;
  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: 81.25em) {
    .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: #ff6f20; }
  .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: #ec908e;
    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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330; }
  .header-basket-container .basket-mobile-summary .summary-order-total {
    margin-bottom: 30px;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center;
    color: #E93330; }
  .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: #E93330;
      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.25rem;
    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: 81.25em) {
    #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: #ff6f20; }
  #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: #ff6f20;
    border: 1px solid #ff6f20; }
  #basketSummaryContainer.warning .summary-message-container {
    border-color: #ff6f20; }
    #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: #ff6f20;
      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: #ff6f20; }
    #basketSummaryContainer.warning .summary-message-container p {
      color: #ff6f20; }
  #basketSummaryContainer.warning #basketQuantity, #basketSummaryContainer.warning #basketPreviewPrice {
    color: #ff6f20; }
  #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: 81.24875em) {
    #basketSummaryContainer .not-logged-in-container {
      display: none; } }
  #basketSummaryContainer .mobile-summary-message-container, #basketSummaryContainer .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.25rem;
    font-weight: 700; }
  @media print, screen and (max-width: 81.24875em) {
    #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: #E93330;
        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: 81.25em) {
    #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: #E93330;
      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: 81.25em) {
    #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: 81.25em) {
      #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: #E93330; }
    #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: #E93330; }
    #basketSummaryContainer .summary-message-container p {
      margin: 0;
      padding: 0;
      text-align: center;
      text-transform: uppercase;
      font-size: 1.0625rem;
      font-weight: 700;
      color: #E93330; }

.header-welcome-text-container {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .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: 1rem;
      font-weight: 400;
      font-style: normal;
      font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
      color: #ffffff; }
  .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: 81.25em) {
    .header-menus-outer-container {
      max-height: none;
      padding: 0;
      background-color: #E93330;
      border-radius: 0;
      visibility: visible;
      overflow: visible; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .header-menus-inner-container {
      max-width: 1300px;
      -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: #E93330; }
    .header-menus-inner-container ul.accordion-menu > li:hover > a {
      color: #ffffff; }
  .header-menus-inner-container ul.accordion-menu > li > a {
    color: #E93330;
    font-weight: 700;
    font-size: 1.25rem;
    text-align: left;
    text-transform: uppercase; }
  .header-menus-inner-container ul.accordion-menu > li > ul {
    padding: 0 0 17.5px; }
    @media print, screen and (max-width: 81.24875em) {
      .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: #ff6f20; }
      .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: #E93330; }
  .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li > a, .header-menus-inner-container ul.menu.dropdown > li > a {
        line-height: 1.2; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
  .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: 81.25em) {
    .header-toggle-bar-container {
      position: relative; } }
  @media print, screen and (max-width: 81.24875em) {
    .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: #E93330;
      font-size: 20px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:hover:before {
      color: #ff6f20;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:active:before {
      color: #ec908e; }
  .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: #E93330;
    font-size: 0.6875rem;
    font-family: "Roboto Condensed", "Roboto Condensed 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: #ff6f20;
    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: #E93330;
    color: #ffffff;
    border-color: #E93330; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search {
      width: 0;
      position: absolute;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu.active {
        width: 550px;
        right: 0;
        padding: 20px;
        overflow: visible; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu .account-menu {
        margin: 0;
        padding: 0;
        list-style: none; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar {
      width: 0;
      position: absolute;
      right: -16px;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .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: #E93330;
  -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: #E93330;
    -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: #ff6f20;
      -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: #E93330; }
    .header-account-button:active:before {
      color: #ec908e; }
  .header-account-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #E93330;
    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: #E93330;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

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

.usp-container {
  width: 100%;
  background-color: transparent; }
  @media screen and (min-width: 81.25em) {
    .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: uppercase;
      -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 0 2px 0;
      border-color: #E93330;
      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: #000000;
      font-style: normal;
      font-size: 1.125rem;
      font-weight: 700; }
    .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: transparent;
        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: transparent; }
      .usp-container .usp-banner a p, .usp-container .collection-item a p {
        padding: 0; }
    @media screen and (min-width: 81.25em) {
      .usp-container .usp-banner[aria-hidden=false], .usp-container .collection-item[aria-hidden=false] {
        padding: 0 10px; }
        .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; } }
  .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: 81.25em) {
    .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: 81.25em) {
    #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: 81.25em) {
    #breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
      margin: 0; } }

@media screen and (min-width: 81.25em) 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.875rem;
    font-weight: 600; }
  .breadcrumbs span {
    font-size: 0.875rem;
    font-weight: 600; }
  .breadcrumbs li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs li:after {
      margin: 0 5px !important;
      padding-top: 0.5px;
      font-family: "fontello-jelawrence";
      font-size: 10px; }
      @media screen and (min-width: 81.25em) {
        .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: #ff6f20; }
  .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 5px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    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 5px;
      padding: 0 0 30px;
      border: 0; } }
  footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
    width: 100%;
    margin: 0 0 30px;
    color: #da7e7c;
    font-size: 1.125rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      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: 0;
    background-color: #000000;
    border: 1px solid #000000;
    text-decoration: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    footer .socialIcons a:hover, footer .social-icons a:hover {
      background-color: #ffffff;
      border-color: #ffffff;
      opacity: 0.5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    footer .socialIcons a:active, footer .social-icons a:active {
      background-color: #E93330;
      border-color: #E93330; }
  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: 81.25em) {
      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: 81.25em) {
    footer .cms-content-container {
      padding: 0; } }
  footer .cms-content-container p {
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 400;
    text-transform: none; }

footer .footer-background .cms-content-container {
  text-align: left; }
  footer .footer-background .cms-content-container a {
    color: #ffffff;
    font-size: 1.125rem; }
    footer .footer-background .cms-content-container a:hover {
      color: #ffffff; }
      footer .footer-background .cms-content-container a:hover:before {
        color: #484848; }
    footer .footer-background .cms-content-container a:active {
      color: #ffffff; }
      footer .footer-background .cms-content-container a:active:before {
        color: #f3f3f3; }
    footer .footer-background .cms-content-container a.show-contact-icon:before {
      color: #E93330;
      -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: 81.25em) {
    .footer-grid-container {
      max-width: 1300px;
      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: 81.25em) {
    .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: 1300px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .footer-banner-series-container.payment-methods {
        margin: 60px 0 25px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 15px 0;
  background-color: #000000; }
  .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: left; }
    @media screen and (min-width: 81.25em) {
      .copyright-outer-container .copyright-inner-container {
        margin: 0 auto;
        text-align: left; } }
    .copyright-outer-container .copyright-inner-container p {
      margin: 0;
      font-size: 1.125rem;
      font-weight: 400;
      color: #ffffff;
      text-transform: none;
      line-height: 1.4; }
    .copyright-outer-container .copyright-inner-container a {
      font-size: 1.125rem;
      font-weight: 400;
      color: #ffffff;
      text-decoration: none;
      text-transform: none;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      .copyright-outer-container .copyright-inner-container a:hover {
        color: #E93330;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .copyright-outer-container .copyright-inner-container a:active {
        color: #ff6f20;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

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

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

.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; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li:not(:last-child) > a {
      position: relative; }
      .footer-navigation > ul.menu > li:not(:last-child) > a:after {
        content: '';
        width: 2px;
        height: 80%;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        display: block;
        background-color: #ffffff; } }
  .footer-navigation > ul.menu > li:hover {
    background-color: transparent; }
    .footer-navigation > ul.menu > li:hover > a {
      color: #ffffff; }
      .footer-navigation > ul.menu > li:hover > a:not([href]) {
        cursor: default; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li {
      width: auto;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: auto 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: #ffffff;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
    text-transform: uppercase;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
        padding: 0 15px; } }
    .footer-navigation > ul.menu > li > a[href]:hover, .footer-navigation > ul.menu > li > p[href]:hover {
      color: #ffffff; }
    .footer-navigation > ul.menu > li > a[href]:active, .footer-navigation > ul.menu > li > p[href]:active {
      color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
          .footer-navigation > ul.menu > li > ul > li:first-child {
            padding-top: 0; } }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li:last-child {
          padding-bottom: 0; } }
      .footer-navigation > ul.menu > li > ul > li > a {
        padding: 0;
        color: #ffffff;
        font-size: 1.125rem;
        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: #000000;
          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: #ffffff;
          -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: 81.25em) {
    .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 0 35px;
      -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: #ffffff; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:active {
  color: #ffffff; }

.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: 81.25em) {
      .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: #ffffff;
      font-size: 18;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container h3 {
      padding: 0;
      margin: 0 0 15px;
      color: #ffffff;
      font-size: 1.125rem;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container table {
      color: #ffffff; }
      @media print, screen and (max-width: 81.24875em) {
        .footer-cms-content-container .cms-content-container table td:not(:first-child) {
          padding-left: 15px; } }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
    .footer-promotions {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content;
      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: #ffffff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .footer-logo-container {
      margin: 0 0 30px; } }

.footer-contact-details {
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
        .footer-contact-details ul.menu > li {
          margin: 0 0 15px; } }
      .footer-contact-details ul.menu > li > a {
        padding: 20px 0;
        color: #ffffff;
        font-size: 1rem; }
        @media screen and (min-width: 81.25em) {
          .footer-contact-details ul.menu > li > a {
            padding: 0 15px; } }
        .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: #E93330;
  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: #ff6f20;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .footer-reveal-button:active {
    background-color: #d89d9c; }

.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: 81.25em) {
    .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: #E93330;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1px;
  word-spacing: 2px;
  border-color: #E93330;
  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: 81.25em) {
    .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: #ff6f20;
      border-color: #ff6f20;
      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: #ec908e;
    border-color: #ec908e;
    -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: rgba(218, 218, 218, 0.7);
    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: rgba(218, 218, 218, 0.7); }
  .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: 81.25em) {
    .mailing-list-container {
      margin: 0 0 55px; } }
  .mailing-list-container h3 {
    margin: 0 0 15px;
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container h3 {
        margin: 0 0 35px; } }
  .mailing-list-container p {
    color: #ffffff;
    margin: 0;
    padding-bottom: 10.5px;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    text-transform: none; }
    @media screen and (min-width: 81.25em) {
      .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: #E93330; }
    @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 0 10px;
  background-color: #E93330; }
  @media print, screen and (min-width: 40em) {
    .footerOuterContainer, .footer-background {
      padding: 25px 10px 0; } }
  @media screen and (min-width: 100em) {
    .footerOuterContainer, .footer-background {
      padding: 25px 0 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: 81.25em) {
      .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(233, 51, 48, 0.2);
      border-top: 4px solid #E93330;
      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: white;
  text-align: center;
  color: #E93330;
  font-weight: 700;
  font-size: 1rem;
  font-family: "Roboto Condensed", "Roboto Condensed 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: 81.25em) {
    #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: #ff6f20;
        text-decoration: underline;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
        #filters-toggle:hover:before, .filter-toggle:hover:before {
          color: #E93330;
          -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: #E93330;
    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: #E93330; }
    @media screen and (min-width: 81.25em) {
      #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: 81.25em) {
      #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: #ff6f20;
        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: white; }
  @media screen and (min-width: 81.25em) {
    .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(233, 51, 48, 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: #000000;
      -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: #484848;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

@media screen and (min-width: 81.25em) {
  .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(233, 51, 48, 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: 81.25em) {
    .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: 81.25em) {
      .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: 1.125rem; }
  .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: #E93330;
        -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: 1.125rem;
    color: #000000; }
    .attributeList.menu ul label:hover {
      color: #ff6f20; }
    .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: 1.125rem;
    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: #E93330;
  cursor: pointer;
  font-size: 1.1875rem;
  font-weight: 700; }
  .attributeList.menu .optionHeading:hover {
    color: #ff6f20; }
  .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: #E93330; }
  .attributeList.menu .showMoreAttributes > a:active, .attributeList.menu .showLessAttributes > a:active {
    color: #ec908e; }

.showMoreAttributes.active a {
  font-size: 1.125rem;
  color: #E93330;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .showMoreAttributes.active a:hover {
    color: #ff6f20;
    -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: #ff6f20;
    font-size: 10px;
    font-family: "fontello-jelawrence";
    font-style: normal;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .showLessAttributes a:hover {
    color: #E93330; }
    .showLessAttributes a:hover:before {
      color: #E93330;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .showLessAttributes a:active {
    color: #ec908e; }
    .showLessAttributes a:active:before {
      color: #ec908e;
      -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: 81.25em) {
    #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: #E93330;
    font-size: 1.125rem;
    font-weight: 600;
    border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #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: 81.25em) {
  #appliedFilters {
    margin-bottom: 35px; } }

#appliedFilters h3 {
  margin: 0;
  padding: 10px 0;
  color: #E93330;
  background-color: transparent;
  font-weight: 700;
  font-size: 1.1875rem;
  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: #ff6f20;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#appliedFilters a {
  display: block;
  padding: 5px 0 5px 0;
  color: #000000;
  font-size: 1.125rem;
  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.25rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  #appliedFilters a:hover:after {
    font-size: 1.375rem;
    color: #ff6f20;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  #appliedFilters a.clear-all-attributes {
    margin: 30px 0 20px;
    font-size: 1.125rem;
    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: #ff6f20;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input.ui-state-active + .currency {
    border-color: #ff6f20;
    -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: #a0a0a0;
    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: 81.25em) {
    #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: 81.25em) {
      .modal-container .content-container {
        overflow: hidden; } }
  .modal-container .content {
    width: 100%;
    margin: auto;
    padding-right: 10px; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
          .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: #E93330;
          -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: "Roboto Condensed", "Roboto Condensed 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: 81.25em) {
    .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: 81.25em) {
        .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: #ff6f20;
      -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: 81.25em) {
        .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: 81.25em) {
      .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: 81.24875em) {
      .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: 81.25em) {
      .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
        margin-bottom: 40px; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .modal-container.manage-user-branch-selecter #users-branch-search-container {
        margin: 0 auto 40px; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: #da7e7c;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .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: 1.1875rem; }
  .modal-container .modal-header .cms-content-container {
    margin-top: 15px;
    margin-bottom: 15px; }
    @media screen and (min-width: 81.25em) {
      .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(#ff6f20, #da7e7c);
      -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: #484848;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 1.125rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
          .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: 1.125rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
          .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: #E93330;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.confirmation .prompt-cancel-button:disabled:hover, .modal-container.confirmation .prompt-cancel-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #E93330;
      -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: #000000;
      -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: #484848;
      -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: #ff0101;
    background-color: #ffdfdf;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
      background-color: #ffffff;
      border-color: #ffffff;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.alert .prompt-proceed-button:disabled:hover, .modal-container.alert .prompt-proceed-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #ff0101;
    background-color: #ffdfdf;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
      background-color: #ffffff;
      border-color: #ffffff;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.warning .prompt-proceed-button:disabled:hover, .modal-container.warning .prompt-proceed-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #E93330;
    background-color: rgba(236, 144, 142, 0.2);
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
        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: #ffffff;
      border-color: #ffffff;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.action-required .prompt-proceed-button:disabled:hover, .modal-container.action-required .prompt-proceed-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #E93330;
    background-color: rgba(236, 144, 142, 0.2);
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
        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: #ffffff;
      border-color: #ffffff;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.success .prompt-proceed-button:disabled:hover, .modal-container.success .prompt-proceed-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: 81.25em) {
      .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: 81.25em) {
        .modal-container.demo .content-container h2 {
          margin-bottom: 35px; } }
    .modal-container.demo .content-container h3 {
      margin-bottom: 25px;
      color: #E93330;
      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: 81.25em) {
        .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: 81.25em) {
      .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: #E93330; }
  .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: #E93330;
    background-color: rgba(236, 144, 142, 0.2);
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
        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: #ffffff;
      border-color: #ffffff;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.demo .prompt-cancel-button:disabled:hover, .modal-container.demo .prompt-cancel-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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: #E93330;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    .modal-container.demo .prompt-proceed-button:disabled:hover, .modal-container.demo .prompt-proceed-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    .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 #a0a0a0; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 7px 0;
      margin: 0 0 10px;
      color: #ffffff;
      background-color: #000000;
      font-weight: 600;
      font-size: 1.125rem;
      text-align: center;
      text-transform: uppercase;
      letter-spacing: 0.2px;
      word-spacing: 2px; }
  .modal-information-container .information-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0;
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .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: 1.125rem;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
      [inject-container]:has(div.AJAXBlock) {
        min-width: 640px; } }
  [inject-container] .modal-header .close-button {
    right: 30px; }

.inject-button {
  color: #E93330;
  cursor: pointer;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  z-index: 1; }
  .inject-button:hover {
    color: #ff6f20;
    -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: 81.25em) {
      .inject-button.form {
        margin: 0 50px 0 auto; } }
    .inject-button.form:after {
      content: "";
      font-family: "fontello-jelawrence";
      font-size: 8px;
      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: 81.24875em) {
    .row-background {
      padding-top: 0;
      padding-bottom: 0; } }
  .row-background.container-padding {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding {
        padding-top: 45px;
        padding-bottom: 45px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .collection.collection-medium-gutter {
        --module-gutter: 15px; } }
  .collection.collection-large-gutter {
    --module-gutter: 38.46154px; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .collection .large-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .collection .large-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
      max-width: 1300px;
      max-height: 1300px; } }
  .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
    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: #E93330;
      -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: #E93330;
        -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: 81.25em) {
    .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: 81.25em) {
  .product-grid-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
  .product-grid-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
  .product-grid-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
      .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: #E93330;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .product-grid-module .content-container:active .description {
    color: #ff6f20; }
  .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: 81.25em) {
    .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, #E93330);
  font-family: "Roboto Condensed", "Roboto Condensed 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: 1.125rem;
  font-weight: 600;
  line-height: 1.2; }
  .product-grid-module .group-description:hover {
    color: #E93330;
    text-decoration: underline; }
  .product-grid-module .group-description:active {
    color: #ff6f20; }

.product-grid-module .description {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  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: 1.125rem; }

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

@media print, screen and (max-width: 81.24875em) {
  .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.2; }
    .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: 81.25em) {
        .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: "Roboto Condensed", "Roboto Condensed 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 {
  border-width: 1px;
  border-color: #aeaeae;
  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: #E93330;
    -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: 81.25em) {
    .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: 0 0 30px;
    font-size: 1.625rem;
    font-weight: 600;
    font-style: normal;
    color: #E93330;
    line-height: 1.5;
    background-color: transparent; }
    .cms-module h1:first-child {
      margin-top: 0; }
    .cms-module h1:only-child {
      margin: 0; }
  .cms-module h2 {
    margin: 0 0 20px;
    font-size: 1.375rem;
    font-weight: 600;
    font-style: italic;
    color: #E93330;
    line-height: 1.5;
    position: relative; }
    .cms-module 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: #000000; }
      @media print {
        .cms-module h2:before {
          border-bottom: 2px solid #000000;
          background-color: transparent; } }
    .cms-module h2:first-child {
      margin-top: 0; }
    .cms-module h2:only-child {
      margin: 0; }
  .cms-module h3 {
    position: relative;
    margin: 0;
    padding: 15px 0;
    font-size: 1.125rem;
    font-weight: 600;
    font-style: italic;
    color: #E93330;
    line-height: 1.5; }
    .cms-module 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: #000000; }
      @media print {
        .cms-module h3:before {
          border-bottom: 2px solid #000000;
          background-color: transparent; } }
    .cms-module h3:first-child {
      margin-top: 0; }
    .cms-module h3:only-child {
      margin: 0; }
  .cms-module h4 {
    margin: 0;
    padding: 0 0 10px;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #E93330;
    line-height: 1.5; }
    .cms-module h4:first-child {
      margin-top: 0; }
    .cms-module h4:only-child {
      margin: 0; }
  .cms-module h5 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.5; }
    .cms-module h5:first-child {
      margin-top: 0; }
    .cms-module h5:only-child {
      margin: 0; }
  .cms-module h6 {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.5; }
    .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: 1.125rem;
    font-weight: 400;
    line-height: 1.5;
    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.5;
    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: #E93330;
        border-radius: 5px; }
  .cms-module ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.5; }
    .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: 1.125rem;
    font-weight: 400;
    line-height: 1.5; }
  .cms-module ul + h1, .cms-module ol + h1 {
    margin-top: 30px; }
  .cms-module ul + h2, .cms-module ol + h2 {
    margin-top: 20px; }
  .cms-module ul + h3, .cms-module ol + h3 {
    margin-top: 0; }
  .cms-module ul + h4, .cms-module ol + h4 {
    margin-top: 0; }
  .cms-module ul + h5, .cms-module ol + h5 {
    margin-top: 0; }
  .cms-module ul + h6, .cms-module ol + h6 {
    margin-top: 0; }
  .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: 81.25em) {
        .cms-module table.responsive-table {
          display: table; } }
      .cms-module table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .cms-module table tbody tr {
          display: table-row; } }
    .cms-module table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .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: 81.24875em) {
      .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
    font-size: 1.125rem;
    -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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
      .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: #E93330;
        -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: #E93330; }
        .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: 81.25em) {
    .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: true, none, underline;
            text-decoration: true, none, underline;
    color: #ff6f20;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module a:hover h3 {
    -webkit-text-decoration: true, none, underline;
            text-decoration: true, 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: 81.25em) {
      .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, 560px));
        grid-template-columns: repeat(auto-fit, minmax(min-content, 560px));
        padding: 40px;
        gap: 50px; } }
    .cms-module.events-module h3 {
      margin: 0 0 20px;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
        .cms-module.events-module .content-banner {
          height: 550px; } }
      @media screen and (min-width: 81.25em) {
        .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: 1.125rem;
      font-weight: 400; }
  .cms-module.blog-module {
    margin-right: 0;
    margin-left: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module {
        margin-right: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
      .cms-module.blog-module .content-banner {
        height: 475px;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .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: 1.125rem;
      font-weight: 400; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .cms-module.news-module .content-banner .image {
          text-align: right; } }
  .cms-module.news-module .read-more-content p {
    font-size: 1.125rem;
    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: 81.25em) {
      .cms-module.entry-module {
        padding-right: 50px;
        padding-left: 50px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-container {
          padding: 10px 0; } }
      @media screen and (min-width: 81.25em) {
        .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: 81.24875em) {
        .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
        .cms-module.entry-module.multimedia-left .content-container {
          padding: 10px 0; } }
      @media print, screen and (max-width: 81.24875em) {
        .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: 81.25em) {
      .cms-module.entry-module.layout-style {
        padding: 50px; } }
    .cms-module.entry-module.layout-style .content-banner {
      height: unset; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
      .cms-module.right-aligned .content-banner {
        margin-bottom: 0; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .row-background.remove-padding-top {
        padding-top: 0; } }
  .row-background.remove-padding-bottom {
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-bottom {
        padding-bottom: 0; } }
  .row-background.remove-padding-both {
    padding-top: 0;
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .module-background {
      margin-top: 15px;
      margin-bottom: 15px; } }
  .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
    padding-top: 10px;
    padding-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
        padding-top: 20px;
        padding-bottom: 20px; } }
  .module-background[style*="background-color: transparent;"] .news-module {
    margin-right: 25px;
    margin-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 10px;
      padding-bottom: 10px; }
      @media screen and (min-width: 81.25em) {
        .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; } }
    .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
      margin: 25px; }
      @media screen and (min-width: 81.25em) {
        .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: #E93330;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .cms-subsidiary-module .series-card > a:hover {
      color: #ff6f20;
      -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: #ff6f20;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .cms-subsidiary-module .series-card ul li > a {
      font-size: 1.125rem;
      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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .ebg-information-module .group-notes p {
        margin: 0; } }
  .ebg-information-module .group-notes .read-more-content {
    max-height: 200px; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    .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: #E93330; }

.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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: #da7e7c;
  font-size: 16px; }

.stock-indicator.soh-2 span {
  color: #da7e7c; }

.stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 .label:before {
  content: "";
  color: #ffb001;
  font-size: 16px; }

.stock-indicator.soh-1 span {
  color: #ffb001; }

.stock-indicator.soh-1 .stockLevel {
  color: #E93330; }

.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: #ff6f20; }

.stock-indicator.notification.active .stock-notification-icon:after {
  color: #E93330; }

.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: #E93330; }

.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: 81.24875em) {
    #stockNotificationDetails {
      top: 10vw !important; } }
  #stockNotificationDetails .cmsContainer {
    padding: 0 10px 20px;
    font-size: 1.125rem; }

#notificationFormContainer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block; }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
    #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: #E93330;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:enabled:hover {
      border: 1px solid #E93330;
      background-color: rgba(233, 51, 48, 0.5);
      color: #E93330;
      -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: #000000;
      -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: #484848;
      -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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 1.0625rem;
    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: #000000;
  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: 81.25em) {
    .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: 1.125rem;
    font-weight: 600;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    #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: 81.25em) {
    #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: 81.25em) {
      #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 #d8b7b6; }
    @media screen and (min-width: 81.25em) {
      #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: #E93330;
          display: inline-block;
          margin: auto;
          border: 0;
          border-width: 0; } }
    @media screen and (min-width: 81.25em) {
      #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: 81.25em) {
      #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: #E93330;
    -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: 81.24875em) {
    .product-overlay-module {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
    .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: 1.125rem;
  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: #000000;
  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: 81.25em) {
    #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: 1.1875rem;
    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: 81.25em) {
    #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: 1.125rem;
      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: "Roboto Condensed", "Roboto Condensed 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.5;
    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: #E93330;
        border-radius: 5px; }
  .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.5; }
    .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: 1.125rem;
    font-weight: 400;
    line-height: 1.5; }
  .product-enquiry-multi-line-container .multi-line-content ul + h1, .product-enquiry-multi-line-container .multi-line-content ol + h1 {
    margin-top: 30px; }
  .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: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul + h4, .product-enquiry-multi-line-container .multi-line-content ol + h4 {
    margin-top: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul + h5, .product-enquiry-multi-line-container .multi-line-content ol + h5 {
    margin-top: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul + h6, .product-enquiry-multi-line-container .multi-line-content ol + h6 {
    margin-top: 0; }
  .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: 1.125rem;
    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: #E93330;
      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: 1.1875rem;
  font-weight: 400;
  line-height: 25px; }

.split-specification {
  padding: 20px 0; }

@media print, screen and (max-width: 81.24875em) {
  #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: 81.25em) {
      #product-price-container .prices .price-container {
        margin-right: auto;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .rrp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-price {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-size {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-item-price {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  #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: 81.25em) {
  #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: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .description-col {
        width: 400px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .code-col {
        width: 125px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
          .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
            margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table td.description-col {
        width: 280px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .code-col {
        width: 100px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .price-col {
        width: 80px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .optional-extras-container .description-container {
        padding-left: 15px; } }
    .optional-extras-container .description-container .description {
      line-height: 1.2;
      font-weight: 700;
      color: #484848;
      font-size: 1.125rem; }
  .optional-extras-container td.code-col {
    font-size: 1.125rem; }
  .optional-extras-container .image-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .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: 1.125rem;
      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.5;
      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: #E93330;
          border-radius: 5px; }
    .optional-extras-container .intro-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.5; }
      .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: 1.125rem;
      font-weight: 400;
      line-height: 1.5; }
    .optional-extras-container .intro-container ul + h1, .optional-extras-container .intro-container ol + h1 {
      margin-top: 30px; }
    .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: 0; }
    .optional-extras-container .intro-container ul + h4, .optional-extras-container .intro-container ol + h4 {
      margin-top: 0; }
    .optional-extras-container .intro-container ul + h5, .optional-extras-container .intro-container ol + h5 {
      margin-top: 0; }
    .optional-extras-container .intro-container ul + h6, .optional-extras-container .intro-container ol + h6 {
      margin-top: 0; }
    .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: 81.25em) {
    #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: 81.25em) {
    #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 #E93330;
    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: 81.25em) {
  #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: 81.25em) {
    .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: 81.25em) {
    .product-enquiry-single-pricing {
      --price-max-width: 45%; } }

.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: 81.25em) {
      .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: 1.1875rem; }

#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 #ff6f20;
  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 #E93330;
      -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(255, 111, 32, 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: 81.25em) {
        #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: 81.25em) {
    .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: 81.25em) {
        .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: 81.25em) {
    #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: 81.25em) {
    #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: 81.25em) {
  #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: 81.25em) {
  #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: 81.25em) {
  #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: 81.25em) {
  #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: 81.25em) {
  #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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    #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: 81.25em) {
  .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: 81.25em) {
      .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: #ff6f20; }
      .product.previously-purchased-container .view-order-link:hover:after {
        color: #ff6f20;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .product.previously-purchased-container .view-order-link:active {
      color: #E93330; }
      .product.previously-purchased-container .view-order-link:active:after {
        color: #E93330; }
  .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: 81.25em) {
      .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: 81.25em) {
  table.custom-stock-table tbody tr td:first-child {
    width: 300px; } }

#basket-form {
  margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    #basket-form {
      margin-bottom: 70px; } }

@media screen and (min-width: 81.25em) {
  #basket-content-container {
    margin: 30px 0 0; } }

#basket-table {
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    #basket-table td:not(.basket-description-col), #basket-table th:not(.basket-description-col) {
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    #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: 81.24875em) {
      #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: 81.25em) {
        #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: 81.25em) {
        #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: 81.25em) {
          #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: 81.25em) {
          #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: 81.24875em) {
      #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: 81.25em) {
      #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: 1.125rem;
      font-weight: 600;
      line-height: 1.2; }
      #basket-table .stock-description-level .group-description:hover {
        color: #E93330;
        text-decoration: underline; }
      #basket-table .stock-description-level .group-description:active {
        color: #ff6f20; }
    #basket-table .stock-description-level .description {
      width: 100%;
      display: block;
      margin: 0;
      padding: 0;
      color: #484848;
      font-size: 1.125rem;
      font-weight: 700;
      text-transform: none;
      line-height: normal;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        #basket-table .stock-description-level .description {
          min-width: 300px; } }
      #basket-table .stock-description-level .description:hover {
        color: #ff6f20;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      #basket-table .stock-description-level .description:active {
        color: #E93330;
        -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: 1.0625rem; }
      #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: 1.0625rem;
    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: 81.25em) {
    #basket-table .basket-code-col {
      width: 10%;
      display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
      #basket-table td.basket-price-col {
        display: table-cell; } }
  #basket-table td.basket-current-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-current-price-col {
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
      #basket-table .basket-quantity {
        width: 10%;
        display: table-cell; } }
    #basket-table .basket-quantity .quantity-selector-container {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #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: 81.25em) {
      #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: 81.25em) {
        #basket-table .basket-quantity .input-number-group {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
      #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: #E93330; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-sub-total-col {
        width: auto;
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
      #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: 81.24875em) {
    #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: 81.24875em) {
    #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: 81.24875em) {
    table.quick-order-form-table tbody tr {
      display: grid;
      grid-template-columns: 100px 1fr 30px;
      gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td {
    padding: 0; } }

@media print, screen and (max-width: 81.24875em) {
  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: 81.25em) {
  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: 81.25em) {
    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: 81.25em) {
      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: 81.25em) {
  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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.25em) {
      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: 81.25em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.25em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    width: 10%; } }

@media print, screen and (max-width: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  #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: 81.25em) {
    #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: #E93330;
    font-weight: 700; }
    #basket #basket-delivery h2:before {
      content: "";
      display: inline-block;
      margin-right: 10px;
      font-size: 26px;
      font-family: "Font Awesome Solid";
      color: #ec908e; }
  #basket #basket-delivery .cms-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      #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: #E93330;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      #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: #ec908e;
        border-color: #ec908e;
        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: #ff6f20;
      border-color: #ff6f20;
      -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: rgba(218, 218, 218, 0.7);
      cursor: not-allowed; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled:hover, #basket .checkout-buttons-container #sagepay-checkout-button.disabled:hover {
      border-color: rgba(218, 218, 218, 0.7); }
    #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: 1.125rem;
    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: #E93330;
    font-size: 1.0625rem;
    font-weight: 600;
    text-transform: uppercase; }
    .summary-item-input-container label:before {
      display: inline-block;
      margin-right: 5px;
      color: #ec908e;
      font-family: "Font Awesome Solid";
      font-size: 1.0625rem; }
  .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: 1.0625rem;
    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: 1.0625rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-moz-placeholder {
      text-transform: uppercase;
      font-size: 1.0625rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input:-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 1.0625rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 1.0625rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::placeholder {
      text-transform: uppercase;
      font-size: 1.0625rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input.is-valid-input + button {
      cursor: pointer;
      background-color: #ec908e; }
  .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: white;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #ff6f20;
        border-color: #ff6f20;
        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: #ec908e;
      border-color: #ec908e;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    .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;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #ec908e;
      border-color: #ec908e;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    .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: 81.25em) {
        .summary-item-input-container .callout:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.24875em) {
          .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: 81.25em) {
        .summary-item-input-container .callout .content-container {
          margin: 0; } }
    .summary-item-input-container .callout p {
      margin: var(--indent-margin, 0);
      font-size: 1.125rem;
      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: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
            .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.24875em) {
        .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: 81.24875em) {
        .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
      font-size: 1.125rem;
      -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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.24875em) {
        .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: 81.25em) {
      #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: 81.25em) {
      #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: #E93330;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      #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: #ff6f20;
        border-color: #ff6f20;
        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: #E93330;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    #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: #E93330;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      #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: #ff6f20;
        border-color: #ff6f20;
        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: #E93330;
      border-color: #E93330;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    #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: 81.25em) {
    .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: 81.25em) {
        .quick-order-form-container .search-container .control.search {
          max-width: 415px; } }
      @media screen and (min-width: 81.25em) {
        .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: #E93330;
        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: #ff440b;
  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: 81.25em) {
    .basket-total-sticky-container {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .summary-sticky-container {
    width: 100%;
    height: auto !important; } }

@media screen and (min-width: 81.25em) {
  .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: 81.24875em) {
    #basket-summary, .summary-container {
      max-width: 100% !important;
      width: 100%;
      position: unset; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary, .summary-container {
      width: 310px;
      margin: 0 0 0 auto; } }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
    #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: #E93330;
    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: 1.125rem;
    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: 1.125rem;
      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: #E93330;
    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: #E93330;
    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: #ff6f20; }
    #basket-summary #edit-basket-container:active, .summary-container #edit-basket-container:active {
      color: #484848; }

@media screen and (min-width: 81.25em) {
  #delivery-selector {
    width: 50%; } }

#delivery-selector select, #delivery-selector label {
  width: 100%; }

#delivery-selector .delivery-label {
  margin: 10px 0;
  color: #E93330;
  font-weight: 600; }

@media screen and (min-width: 81.25em) {
  #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: 81.25em) {
    .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: #E93330;
      border-color: #E93330; }
      .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .account-sorting-options .sort-option {
        width: auto;
        height: 100%;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter {
        max-width: 490px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .order-container + .responsive-tabs {
        margin-top: 40px; } }
  .order-container.payment-confirmation {
    margin-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation {
        margin-bottom: 20px; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .order-container.preset-1 #order-table {
      width: 970px;
      margin-right: auto;
      margin-left: 0; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table .basket-price-col {
      width: 15%; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.24875em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
            .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: 81.24875em) {
        .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: 81.25em) {
        .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: 1.125rem;
        font-weight: 600;
        line-height: 1.2; }
        .order-container #order-table .stock-description-level .group-description:hover {
          color: #E93330;
          text-decoration: underline; }
        .order-container #order-table .stock-description-level .group-description:active {
          color: #ff6f20; }
      .order-container #order-table .stock-description-level .description {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        color: #484848;
        font-size: 1.125rem;
        font-weight: 700;
        text-transform: none;
        line-height: normal;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .stock-description-level .description {
            min-width: 300px; } }
        .order-container #order-table .stock-description-level .description:hover {
          color: #ff6f20;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .order-container #order-table .stock-description-level .description:active {
          color: #E93330;
          -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: 1.0625rem; }
        .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: 1.0625rem;
      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: 81.25em) {
      .order-container #order-table .basket-code-col {
        width: 10%;
        display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .order-container #order-table td.basket-current-price-col {
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
      .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: 81.25em) {
        .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: #E93330; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-sub-total-col {
          width: auto;
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.24875em) {
      .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: 81.24875em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: #E93330;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: #E93330;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .package-reference-container .container-reference {
        margin-right: 60px;
        margin-left: 30px; } }

.users-found-count {
  margin-bottom: 30px;
  font-size: 1.125rem; }
  @media screen and (min-width: 81.25em) {
    .users-found-count {
      margin-bottom: 50px; } }
  .users-found-count span {
    margin-right: 5px;
    color: #E93330;
    font-weight: 700; }
  .users-found-count p {
    margin: 0;
    padding: 0; }

#users-table td {
  font-size: 1.125rem; }
  #users-table td .label {
    margin-right: 5px;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      #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: 81.25em) {
    #users-table .users-account-col {
      width: 25%;
      text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-contact-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-email-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  #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: 81.25em) {
    .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: #ff6f20;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .remove-user-button:active:before {
    color: #E93330; }

.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: 81.25em) {
    .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: 81.25em) {
    .manage-user-button-container .primary-button {
      margin: 0 20px 0 auto; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .secondary-button {
      margin: 0; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    #select-branches-table .label {
      display: none; } }
  #select-branches-table .branch-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      #select-branches-table .branch-col {
        padding-left: 80px; } }
  #select-branches-table td.branch-col {
    font-size: 1.125rem; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .allow-login-col {
      padding-right: 160px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-type-col {
    width: 250px;
    padding-left: 50px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-number-col {
    width: 180px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-expire-date-col {
    width: 240px; } }

@media screen and (min-width: 81.25em) {
  #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: #ff6f20;
    -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: 81.24875em) {
    #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: 1.125rem; }
  #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: 81.25em) {
    #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: 81.25em) {
      #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: 81.25em) {
      #tokens-table .expire-date, .tokens-table .expire-date {
        width: auto; } }
  @media screen and (min-width: 81.25em) {
    #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: 1.125rem;
  font-weight: 600; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .statement-balance-container {
      margin: 0 2% 20px 0;
      text-align: right; } }
  .statement-balance-container p {
    margin: 0;
    padding: 0;
    font-size: 1.3125rem;
    font-weight: 700;
    color: #E93330; }
    .statement-balance-container p span {
      padding-left: 60px; }

.statement-pay-container, .account-pay-container {
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    table.service-contracts .branch-col {
      width: 6.2%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .next-due-date-col {
      width: 8%;
      padding: 0 12px; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .document-reference-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .your-reference-col {
      width: 10%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .sku-reference-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-value-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-type-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts td.contract-type-col {
      padding: 0 10px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-group-col {
      width: 9.8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .frequency-col {
      width: 8.5%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .payment-method-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .termination-date-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .balance-col {
      width: 7%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .renewal-col {
      width: 5.5%; } }
  table.service-contracts .tubs-renew-button {
    font-weight: 400;
    font-size: 0.875rem;
    color: #E93330; }
    @media print, screen and (max-width: 81.24875em) {
      table.service-contracts .tubs-renew-button {
        width: 100%;
        padding: 15px 35px;
        border: 1px solid #dadada;
        text-transform: uppercase;
        text-align: center; } }

@media screen and (min-width: 81.25em) {
  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: 81.25em) {
    table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
      width: 14%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .description-col, table.order-invoice-enquiry-table .description-col {
    width: 23%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table th.description-col, table.order-invoice-enquiry-table th.description-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  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: 81.25em) {
  table.delivery-enquiry-table .item-col {
    width: 6.95%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .reference-col {
    width: 13%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .quantity-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .description-col {
    width: 27%;
    text-align: left; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .our-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .your-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table {
    margin-top: 40px; } }

@media screen and (min-width: 81.25em) {
  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: 81.25em) {
  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: 81.25em) {
  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: #E93330;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: white;
      border-color: #E93330;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .account-return-button:disabled:hover, .account-return-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: 81.25em) {
  table.payment-requests-table .pay-col {
    width: 6.2%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .date-col {
    width: 20%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .time-col {
    width: 8.5%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .reference-col {
    width: 18.1%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .amount-col {
    width: 10.8%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .contact-col {
    width: 25%; } }

.site-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .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: #ff6f20; }
  .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: #ff6f20; }
  .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: #E93330;
  -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: 81.25em) {
      .data-time-container .time {
        display: block;
        margin-left: 15px; } }

@media screen and (min-width: 81.25em) {
  table.publish-history .data-time-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media print, screen and (max-width: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
  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: 81.24875em) {
    table.site-list-table.preset-1 tbody tr {
      background-color: #f3f3f3; } }
  @media screen and (min-width: 81.25em) {
    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: 81.25em) {
  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: 81.25em) {
    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: 81.25em) {
      table.site-list-table .site-description-col hr {
        display: none; } }
  table.site-list-table .site-description-col .site-description a {
    color: #E93330;
    font-size: 1.0625rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      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: 81.25em) {
      table.site-list-table .site-description-col .site-environment {
        font-size: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table th.site-description-col {
    padding-left: 20px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table td.site-description-col {
    width: 250px;
    padding-left: 30px; } }

@media print, screen and (max-width: 81.24875em) {
  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: 81.24875em) {
  table.site-list-table .site-description, table.site-list-table .site-environment {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .license-col, table.site-list-table .publishing-col {
    width: 110px; } }

@media screen and (min-width: 81.25em) {
  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: 81.25em) {
    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: 81.25em) {
  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: 81.25em) {
  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: #E93330;
      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: 81.25em) {
      .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: 1.125rem;
    font-weight: 700;
    color: #7b7b7b; }
  .display-cms-series-intro p, .series-explanatory-text p {
    margin: 0;
    font-size: 1.125rem;
    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, #ff6f20);
    -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: 1.1875rem; }
    .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
          height: 30%; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 1.125rem;
    color: var(--black-colour);
    overflow: hidden; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
          .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
            height: 75px; } }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
    .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: 1.0625rem;
  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: 700;
  text-transform: none; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
      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: 0 0 30px;
      font-size: 1.625rem;
      font-weight: 600;
      font-style: normal;
      color: #E93330;
      line-height: 1.5;
      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: 0 0 20px;
      font-size: 1.375rem;
      font-weight: 600;
      font-style: italic;
      color: #E93330;
      line-height: 1.5;
      position: relative; }
      .cms-entry-container .content-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: #000000; }
        @media print {
          .cms-entry-container .content-container h2:before {
            border-bottom: 2px solid #000000;
            background-color: transparent; } }
      .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 {
      position: relative;
      margin: 0;
      padding: 15px 0;
      font-size: 1.125rem;
      font-weight: 600;
      font-style: italic;
      color: #E93330;
      line-height: 1.5; }
      .cms-entry-container .content-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: #000000; }
        @media print {
          .cms-entry-container .content-container h3:before {
            border-bottom: 2px solid #000000;
            background-color: transparent; } }
      .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: 0;
      padding: 0 0 10px;
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      color: #E93330;
      line-height: 1.5; }
      .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: 0;
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.5; }
      .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: 0;
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.5; }
      .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: 1.125rem;
      font-weight: 400;
      line-height: 1.5;
      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.5;
      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: #E93330;
          border-radius: 5px; }
    .cms-entry-container .content-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.5; }
      .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: 1.125rem;
      font-weight: 400;
      line-height: 1.5; }
    .cms-entry-container .content-container ul + h1, .cms-entry-container .content-container ol + h1 {
      margin-top: 30px; }
    .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: 0; }
    .cms-entry-container .content-container ul + h4, .cms-entry-container .content-container ol + h4 {
      margin-top: 0; }
    .cms-entry-container .content-container ul + h5, .cms-entry-container .content-container ol + h5 {
      margin-top: 0; }
    .cms-entry-container .content-container ul + h6, .cms-entry-container .content-container ol + h6 {
      margin-top: 0; }
    .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: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
            .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.24875em) {
        .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: 81.24875em) {
        .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
      font-size: 1.125rem;
      -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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
          .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: #ffffff; }
    .cms-entry-container .content-container .background-section {
      padding: 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container .background-section {
          padding: 15px; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: #E93330;
    font-size: 1.25rem;
    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: #da7e7c;
    -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: white;
      color: #E93330;
      -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: #ff6f20;
      color: #ffffff; }
    .cms-entries-controls .control-button:before, .entries-icon-controls .control-button:before {
      font-family: "fontello-jelawrence";
      font-size: 20px; }
  .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: 81.25em) {
    .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: #E93330;
    font-size: 1.25rem;
    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: #da7e7c;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
        background-color: white;
        border-color: #E93330;
        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: #E93330;
          -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: #ff6f20;
      border-color: #484848;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    .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: "fontello-jelawrence";
      font-size: 20px;
      color: #da7e7c;
      -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: #da7e7c;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    word-spacing: 2px;
    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: 81.25em) {
      .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: #E93330;
        background-color: white;
        border-color: #E93330;
        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: #E93330;
          -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: #ff6f20;
      border-color: #484848;
      -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: rgba(218, 218, 218, 0.7);
      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: rgba(218, 218, 218, 0.7); }
    .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: "fontello-jelawrence";
      font-size: 20px;
      color: #da7e7c;
      -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: #E93330;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: white;
      border-color: #E93330;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .cms-entry-back-button:disabled:hover, .cms-entry-back-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
        -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: #E93330; }
      .site-map ul .parent > a:before, .site-map ul .parent > span:before {
        content: "";
        display: inline-block;
        margin: 0 35px 0 25px;
        font-family: "fontello-jelawrence";
        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: #ff6f20;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .site-map .parent a:active, .site-map ul .child > a:active {
    color: #ec908e;
    -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: 700;
  font-style: italic;
  color: #E93330;
  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: #ff6f20;
    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: #ec908e;
    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: #E93330;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #E93330;
      background-color: white;
      border-color: #E93330;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .back-to-information:disabled:hover, .back-to-information.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: 1.125rem; }

div[style*="background-color"] .cms-content-container {
  padding: 0 25px; }
  @media screen and (min-width: 81.25em) {
    div[style*="background-color"] .cms-content-container {
      padding: 0 50px; } }

.cms-content-container h1 {
  margin: 0 0 30px;
  font-size: 1.625rem;
  font-weight: 600;
  font-style: normal;
  color: #E93330;
  line-height: 1.5;
  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: 0 0 20px;
  font-size: 1.375rem;
  font-weight: 600;
  font-style: italic;
  color: #E93330;
  line-height: 1.5;
  position: relative; }
  .cms-content-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: #000000; }
    @media print {
      .cms-content-container h2:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }
  .cms-content-container h2:first-child {
    margin-top: 0; }
  .cms-content-container h2:only-child {
    margin: 0; }

.cms-content-container h3 {
  position: relative;
  margin: 0;
  padding: 15px 0;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic;
  color: #E93330;
  line-height: 1.5; }
  .cms-content-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: #000000; }
    @media print {
      .cms-content-container h3:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }
  .cms-content-container h3:first-child {
    margin-top: 0; }
  .cms-content-container h3:only-child {
    margin: 0; }

.cms-content-container h4 {
  margin: 0;
  padding: 0 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #E93330;
  line-height: 1.5; }
  .cms-content-container h4:first-child {
    margin-top: 0; }
  .cms-content-container h4:only-child {
    margin: 0; }

.cms-content-container h5 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.5; }
  .cms-content-container h5:first-child {
    margin-top: 0; }
  .cms-content-container h5:only-child {
    margin: 0; }

.cms-content-container h6 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.5; }
  .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: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  font-size: 1.125rem;
  -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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .cms-content-container table tbody tr {
        display: table-row; } }
  .cms-content-container table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.24875em) {
    .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.5;
  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: #E93330;
      border-radius: 5px; }

.cms-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.5; }
  .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: 1.125rem;
  font-weight: 400;
  line-height: 1.5; }

.cms-content-container ul + h1, .cms-content-container ol + h1 {
  margin-top: 30px; }

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

.cms-content-container ul + h4, .cms-content-container ol + h4 {
  margin-top: 0; }

.cms-content-container ul + h5, .cms-content-container ol + h5 {
  margin-top: 0; }

.cms-content-container ul + h6, .cms-content-container ol + h6 {
  margin-top: 0; }

.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: 81.25em) {
    .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: 1.125rem;
  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: 81.25em) {
    #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: 81.25em) {
      #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: #E93330;
    -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: #000000;
    -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: #484848;
    -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(216, 183, 182, 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: #E93330;
    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: #E93330;
    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 #E93330;
      background-color: rgba(233, 51, 48, 0.5);
      color: #E93330;
      -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: #E93330; }
  #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(233, 51, 48, 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: #E93330;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:enabled:hover {
      border: 1px solid #E93330;
      background-color: rgba(233, 51, 48, 0.5);
      color: #E93330;
      -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: #E93330;
    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 #E93330;
      background-color: rgba(233, 51, 48, 0.5);
      color: #E93330;
      -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: #E93330;
  background-color: white; }

#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: #E93330;
    -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: 81.25em) {
      .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: #E93330; }
      @media screen and (min-width: 81.25em) {
        .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: #E93330; }
      @media screen and (min-width: 81.25em) {
        .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: "fontello-jelawrence";
      font-size: 10px;
      color: #E93330;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .checkout-returning-customer-container .content-container .quaternary-button:hover:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .checkout-returning-customer-container .content-container .quaternary-button:active:after {
      color: #ffffff; }
    .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: #f2c5ca;
      -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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
    line-height: 1; }
  .error-not-found-content-container .cms-content-container h2 {
    margin: 0 0 30px;
    font-size: 3.75rem;
    font-weight: 700;
    color: #ff6f20; }
  .error-not-found-content-container .cms-content-container p {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #E93330; }
  .error-not-found-content-container .button-container {
    margin: 62.5px 0 0; }
    @media screen and (min-width: 81.25em) {
      .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: #E93330;
  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: #E93330;
  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: #000000;
  border-color: #E93330; }

.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: 81.25em) {
    .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: 81.25em) {
        .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: #E93330;
    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: 81.25em) {
      .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: #E93330;
      font-family: "fontello-jelawrence";
      font-size: 16px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .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: #ff6f20;
      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: #E93330;
      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: rgba(218, 218, 218, 0.7);
      -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: 81.25em) {
    .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(233, 51, 48, 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(233, 51, 48, 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: 81.25em) {
    .lightbox-pager-item {
      width: 170px; } }
  .lightbox-pager-item img {
    max-height: 100%; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item img {
        max-width: 25vw;
        max-height: 20vh; } }
  .lightbox-pager-item.active {
    cursor: default; }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item.is-video {
      width: auto; } }
  .lightbox-pager-item.is-video img {
    height: 50px;
    margin: 10px; }
    @media screen and (min-width: 81.25em) {
      .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 #E93330;
    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: #E93330;
      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: #E93330;
      -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: 81.25em) {
    .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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
    [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: 81.25em) {
    [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: 81.25em) {
      [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: 81.25em) {
      [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: 81.25em) {
      [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: 81.25em) {
      [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
    [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: 81.25em) {
    [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: 81.25em) {
      [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: 81.25em) {
      [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: 81.25em) {
      [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: 81.25em) {
      [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
  [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: 81.25em) {
    [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: 81.25em) {
      [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: #E93330;
    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: #ff6f20; }
  [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: 81.25em) {
    [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, #E93330);
  font-family: "Roboto Condensed", "Roboto Condensed 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: 1.125rem;
  font-weight: 600;
  line-height: 1.2; }
  [data-bxSlider] .group-description:hover, .product-carousel-module .group-description:hover, .cms-carousel-module .group-description:hover {
    color: #E93330;
    text-decoration: underline; }
  [data-bxSlider] .group-description:active, .product-carousel-module .group-description:active, .cms-carousel-module .group-description:active {
    color: #ff6f20; }

[data-bxSlider] .description, .product-carousel-module .description, .cms-carousel-module .description {
  color: #484848;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  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: 1.125rem; }

@media print, screen and (max-width: 81.24875em) {
  [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: 81.24875em) {
  [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.2; }
    [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: 81.25em) {
        [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: "Roboto Condensed", "Roboto Condensed 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: 81.25em) {
  .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; }

.carousel.largeControls .bx-controls .bx-controls-direction {
  width: 110px;
  margin: 10px;
  right: 0;
  bottom: 0;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      width: 100px; } }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      height: 45px; } }

.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: 81.25em) {
    .carousel.largeControls .bx-controls .bx-prev:not(.disabled),
    .carousel.largeControls .bx-controls .bx-next:not(.disabled) {
      width: 45px;
      height: 45px; } }

.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: 81.25em) {
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #E93330;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-223deg);
              transform: rotate(-223deg); } }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #E93330;
      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: #dadada;
    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: 81.24875em) {
      .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: 81.25em) {
      .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: #E93330; }
    .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; }

.image-slideshow-module .bx-controls-direction {
  margin: 10px; }

.product-carousel-module .bx-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.image-slideshow-module .bx-controls, .image-slideshow-module .bx-controls-direction {
  position: absolute; }

.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: "fontello-jelawrence";
  font-size: 14px;
  color: #E93330;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  -webkit-filter: drop-shadow(0);
          filter: drop-shadow(0); }
  @media screen and (min-width: 81.25em) {
    .bx-controls .bx-prev:not(.disabled):before,
    .bx-controls .bx-next:not(.disabled):before {
      font-size: 14px; } }

.bx-controls .bx-prev:not(.disabled):hover:before,
.bx-controls .bx-next:not(.disabled):hover:before {
  color: #E93330;
  -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: #E93330; }

.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: 81.25em) {
    .bx-prev {
      padding: 0; } }

.bx-next {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    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: 81.25em) {
      .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: #ff6f20;
        border-color: #ff6f20;
        -webkit-transition: border-color, background-color 0.6s;
        transition: border-color, background-color 0.6s; }
      .bx-pager .bx-pager-item a:active {
        background-color: #E93330;
        border-color: #E93330; }
      .bx-pager .bx-pager-item a.active {
        background-color: #E93330;
        border-color: #E93330;
        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: #ff6f20; }
  .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: #ff6f20;
    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: #ff6f20;
    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: #E93330;
    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: 1.0625rem;
    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: #ff6f20;
      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 #ff6f20;
    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.5;
      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: 81.25em) {
    .read-more.mobile-only .read-more-content {
      height: auto !important; } }
  @media screen and (min-width: 81.25em) {
    .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: #E93330;
    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: "fontello-jelawrence";
      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: 81.25em) {
  .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: 81.25em) {
    #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 #E93330;
      z-index: 50000; } }

.ac-results {
  width: 100%;
  max-height: 100vh; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: #E93330;
  border-radius: 0; }
  .ac-collection-title-container .ac-title {
    color: #ffffff;
    font-size: 1.1875rem;
    font-weight: 600;
    text-transform: uppercase;
    font-family: "Roboto Condensed", "Roboto Condensed 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: 1.125rem;
      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: "fontello-jelawrence";
        font-size: 0.5625rem;
        color: #ff6f20;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

.ac-title-container {
  margin: 10px 0 15px;
  font-style: italic;
  font-weight: 600;
  font-family: "Roboto Condensed", "Roboto Condensed 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: #E93330;
    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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
      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: 81.25em) {
        .header-notification-container .callout button:not(.close-button) {
          margin-left: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .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: 1300px;
    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: #000000;
      -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: #484848;
      -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: 1.1875rem; }
    .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: 1.1875rem; }
      .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: #000000;
          -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: #484848;
          -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: 81.25em) {
      .on-page-notification:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .on-page-notification.preset-2 {
        padding: 15px 65px; } }
  .on-page-notification.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
        .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: 81.25em) {
      .on-page-notification .content-container {
        margin: 0; } }
  .on-page-notification p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .on-page-notification table tbody tr {
          display: table-row; } }
    .on-page-notification table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .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: 81.24875em) {
      .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
    font-size: 1.125rem;
    -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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.24875em) {
      .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: 81.25em) {
      .no-items-found-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .no-items-found-container.preset-2 {
        padding: 15px 65px; } }
  .no-items-found-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
        .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: 81.25em) {
      .no-items-found-container .content-container {
        margin: 0; } }
  .no-items-found-container p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.24875em) {
      .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: 81.24875em) {
      .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
    font-size: 1.125rem;
    -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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.24875em) {
      .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: 81.25em) {
      .internal-error-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .internal-error-container.preset-2 {
        padding: 15px 65px; } }
  .internal-error-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .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: 81.24875em) {
        .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: 81.25em) {
      .internal-error-container .content-container {
        margin: 0; } }
  .internal-error-container p {
    margin: var(--indent-margin, 0);
    font-size: 1.125rem;
    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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .internal-error-container table tbody tr {
          display: table-row; } }
    .internal-error-container table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .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: 81.24875em) {
      .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
    font-size: 1.125rem;
    -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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.24875em) {
      .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: 1.125rem; }

.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: 1.125rem;
    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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
          .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: 0 0 30px;
        font-size: 1.625rem;
        font-weight: 600;
        font-style: normal;
        color: #E93330;
        line-height: 1.5;
        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: 0 0 20px;
        font-size: 1.375rem;
        font-weight: 600;
        font-style: italic;
        color: #E93330;
        line-height: 1.5;
        position: relative; }
        .notification-container .read-more .read-more-content 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: #000000; }
          @media print {
            .notification-container .read-more .read-more-content h2:before {
              border-bottom: 2px solid #000000;
              background-color: transparent; } }
        .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 {
        position: relative;
        margin: 0;
        padding: 15px 0;
        font-size: 1.125rem;
        font-weight: 600;
        font-style: italic;
        color: #E93330;
        line-height: 1.5; }
        .notification-container .read-more .read-more-content 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: #000000; }
          @media print {
            .notification-container .read-more .read-more-content h3:before {
              border-bottom: 2px solid #000000;
              background-color: transparent; } }
        .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: 0;
        padding: 0 0 10px;
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        color: #E93330;
        line-height: 1.5; }
        .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: 0;
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.5; }
        .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: 0;
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.5; }
        .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: 1.125rem;
        font-weight: 400;
        line-height: 1.5;
        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.5;
        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: #E93330;
            border-radius: 5px; }
      .notification-container .read-more .read-more-content ol {
        margin: 10px;
        padding: 0 25px;
        line-height: 1.5; }
        .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: 1.125rem;
        font-weight: 400;
        line-height: 1.5; }
      .notification-container .read-more .read-more-content ul + h1, .notification-container .read-more .read-more-content ol + h1 {
        margin-top: 30px; }
      .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: 0; }
      .notification-container .read-more .read-more-content ul + h4, .notification-container .read-more .read-more-content ol + h4 {
        margin-top: 0; }
      .notification-container .read-more .read-more-content ul + h5, .notification-container .read-more .read-more-content ol + h5 {
        margin-top: 0; }
      .notification-container .read-more .read-more-content ul + h6, .notification-container .read-more .read-more-content ol + h6 {
        margin-top: 0; }
      .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: 81.25em) {
            .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: 81.25em) {
              .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: 81.25em) {
              .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: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
            .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: 81.24875em) {
          .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: 81.24875em) {
          .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: 81.25em) {
      .notification-container .read-more-trigger {
        margin-bottom: 0; } }
    .notification-container .read-more-trigger:hover {
      color: #ff6f20;
      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: #E93330;
      text-decoration: underline; }
  .notification-container.pwa {
    background-color: #d8b7b6; }
  .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: #E93330; }

.countdown-container .countdown-display, .countdown-container .display-label {
  margin: 0 5px 0;
  font-weight: 700;
  color: #E93330;
  -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: #ff6f20;
  -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: #dadada;
      -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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: #E93330; }

.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: 81.25em) {
      .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 5px;
    padding: 0 0 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .social-icons.footer {
        margin: 0 0 5px;
        padding: 0 0 30px; } }
    .social-icons.footer .social-icons-heading h3 {
      margin: 0 0 30px;
      color: #ffffff;
      font-size: 1.125rem;
      font-weight: 700;
      text-transform: uppercase;
      line-height: 1; }
      @media screen and (min-width: 81.25em) {
        .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: #000000;
    border-width: 2px;
    border-style: solid;
    border-color: #000000;
    border-radius: 0;
    -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: #ffffff;
      border-color: #ffffff;
      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: #E93330;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .social-icons a:active {
      background-color: #E93330;
      border-color: #E93330; }
      .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 #E93330;
        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: #E93330;
          -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: #000000;
          -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: #484848;
          -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: #E93330;
    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: #ff6f20;
    -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: #E93330; }

/*
----- 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: #e93330;
  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: 81.25em) {
    .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: 81.25em) {
    .equipment-selector-heading {
      padding: 0;
      text-align: left; } }
  .equipment-selector-heading span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .equipment-selectors a {
        margin: 0 0 0 auto; } }

.equipment-selector-list {
  margin-top: 20px; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
        .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: #e93330;
  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: 81.25em) {
    .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: #ff6f20; }
  .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: 81.25em) {
      .pick-n-mix-header .header-background {
        padding: 20px 10px; } }

.pick-n-mix-selector-container {
  padding: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: #ff6f20;
        margin: 0 20px; }
        @media screen and (min-width: 81.25em) {
          .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: 1.125rem;
        font-weight: 800;
        color: #ffffff;
        border-color: #a0a0a0;
        background-color: #ff6f20; }
    .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: #ff6f20; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.24875em) {
      .pick-n-mix-buttons-container .add-to-basket-container button[type=submit] {
        margin-rigth: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 15px; } }

@media screen and (min-width: 81.25em) {
  #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: 81.25em) {
    .top-bar {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .top-bar.upper {
    max-width: 1300px;
    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: 6.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: 81.25em) {
    .top-bar .top-bar-right {
      margin-left: auto; } }
  .top-bar .menu, .top-bar .dropdown.menu {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .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: #000000; }
      .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: #ffffff; }
      .top-bar .menu li a, .top-bar .dropdown.menu li a {
        color: #ffffff;
        font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
        font-size: 0.875rem;
        font-weight: 700;
        text-decoration: none;
        text-transform: uppercase;
        padding: 6.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: #ffffff; }
      .top-bar .menu li.site-setting-menu > a .currency-icon:before, .top-bar .dropdown.menu li.site-setting-menu > a .currency-icon:before {
        color: #ffffff; }
      .top-bar .menu li.site-setting-menu > a:hover:before, .top-bar .dropdown.menu li.site-setting-menu > a:hover:before {
        color: #000000; }

#topBarUpperOuterCountainer, .header-top-bar-container {
  background-color: #E93330;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    #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: 81.25em) {
    .sg-page-header {
      margin: 0 15px 35px 0; } }

.sg-section-container {
  margin: 0 15px 15px 0; }
  @media screen and (min-width: 81.25em) {
    .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: #E93330; }
  .colour-block .colour4-1 {
    background-color: #ec908e; }
  .colour-block .colour4-2 {
    background-color: #da7e7c; }
  .colour-block .colour4-3 {
    background-color: #d8b7b6; }
  .colour-block .colour4-4 {
    background-color: #E93330; }
  .colour-block .colour4-5 {
    background-color: #d89d9c; }
  .colour-block .colour4-6 {
    background-color: white; }
  .colour-block .colour4-7 {
    background-color: #ff440b; }
  .colour-block .colour6 {
    background-color: #ff6f20; }
  .colour-block .colour6-1 {
    background-color: #d7380b; }
  .colour-block .colour6-2 {
    background-color: #ffc33f; }
  .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: #E93330; }
  .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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
          -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: #E93330;
        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: #ff6f20;
        -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: #E93330;
    -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: #000000;
    -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: #484848;
    -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: #E93330; }
  @media screen and (min-width: 81.25em) {
    .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: 1.1875rem; }

/*
----- 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: 81.25em) {
    .responsive-tabs-header .responsive-tabs-controls {
      margin-left: auto; } }
  .responsive-tabs-header .accordion-toggle-all-button {
    font-size: 0.75rem;
    font-weight: 700;
    color: #E93330; }
    .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 #E93330;
      background-color: #ffffff;
      color: #E93330;
      font-family: "fontello-jelawrence";
      font-size: 6px; }
    .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: 81.25em) {
    .responsive-tabs.account-area {
      margin: 5px 0 0; } }
  .responsive-tabs.account-area .tabs-panel {
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
        padding: 10px 20px; } }
  @media screen and (min-width: 81.25em) {
    .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: white;
        border-color: #E93330;
        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: #E93330; }
          .responsive-tabs .tabs.vertical .tabs-title.is-active a:after {
            content: ''; }
      .responsive-tabs .tabs.vertical .tabs-title:not(.is-active):hover {
        border-color: #ff6f20;
        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: 81.25em) {
        .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: 81.25em) {
      .responsive-tabs .tabs-panel {
        padding: 40px 50px; } }
  .responsive-tabs .accordion-item.is-active .accordion-content {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .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: 0 0 30px;
  font-size: 1.625rem;
  font-weight: 600;
  font-style: normal;
  color: #E93330;
  line-height: 1.5;
  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: 0 0 20px;
  font-size: 1.375rem;
  font-weight: 600;
  font-style: italic;
  color: #E93330;
  line-height: 1.5;
  position: relative; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:before, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:before, #tabbed-notes-container .accordion-content .tabbed-notes-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: #000000; }
    @media print {
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:before, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:before, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }
  #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 {
  position: relative;
  margin: 0;
  padding: 15px 0;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic;
  color: #E93330;
  line-height: 1.5; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:before, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:before, #tabbed-notes-container .accordion-content .tabbed-notes-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: #000000; }
    @media print {
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:before, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:before, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }
  #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: 0;
  padding: 0 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #E93330;
  line-height: 1.5; }
  #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: 0;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.5; }
  #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: 0;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.5; }
  #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: 1.125rem;
  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: #E93330;
      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: 1.125rem; }

#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: 30px; }

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

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

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

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

#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: 81.25em) {
      #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: 81.25em) {
        #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: 81.25em) {
        #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: 81.25em) {
    #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: 81.25em) {
      #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: 81.25em) {
      #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: 81.24875em) {
    #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: 81.24875em) {
    #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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.24875em) {
    .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: 81.24875em) {
    .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: 81.25em) {
      .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: 10px;
      font-family: "fontello-jelawrence"; }
    .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: 81.25em) {
    .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: #da7e7c;
    -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: #da7e7c;
      -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: #d8b7b6; }
      .accordion.accordion-title-inverted-colours .accordion-title:active:after {
        color: #E93330; }
      .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content {
        color: #E93330; }
        .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content:after {
          color: #E93330; }
  .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title {
    background-color: #d8b7b6; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title:after {
      color: #E93330; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child {
      color: #E93330; }
      .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child:after {
        color: #E93330; }
  .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: uppercase;
    border-bottom: 0; }
    .accordion .accordion-title.disabled {
      background-color: #aeaeae;
      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: 10px;
      font-family: "fontello-jelawrence";
      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: #E93330; }
  .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: 81.25em) {
      .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: 81.25em) {
    .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: 1.125rem;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .attachments-container .attachment:hover {
    color: #ff6f20;
    -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: #ff440b;
    margin: 0 15px 0 0;
    font-size: 26px; }

.attachments-container .brochure:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: rgba(233, 51, 48, 0.6); }

.attachments-container .user-guide:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(233, 51, 48, 0.6); }

.attachments-container .parts-diagram:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(233, 51, 48, 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: #d7380b; }

.attachments-container .excel:before, .attachments-container [href$='.xls']:before, .attachments-container [href$='.xlsx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #E93330; }

.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(233, 51, 48, 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: #ff6f20; }

/*
----- 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: 81.25em) {
    .sticky-side-buttons-container {
      max-width: 80%; } }
  @media screen and (min-width: 97.25em) {
    .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: 97.25em) {
      .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: 97.25em) {
      .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: 97.25em) {
      .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: 97.25em) {
      .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: #ff6f20;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
          background-color: #E93330; } }
    .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: 97.25em) {
        .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: 97.25em) {
        .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: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
          background-color: #ff6f20; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
      color: #484848;
      text-decoration: underline; }
      @media screen and (min-width: 97.25em) {
        .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: 97.25em) {
        .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: 97.25em) {
        .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: 81.24875em) and (orientation: landscape) {
  .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
    display: none; } }
      @media screen and (min-width: 97.25em) {
        .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: 97.25em) {
          .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
            color: #E93330; } }
    .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: #E93330;
      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: 97.25em) {
        .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    .AXISResultsContainer .branch-filter, .list-sort-container .branch-filter {
      max-width: 490px; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 1.125rem; }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
      .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: 81.25em) {
      .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: 1.125rem;
        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: 81.25em) {
    .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: 81.25em) {
      .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: 1.125rem;
      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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    .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: 1.125rem; }

.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: 81.25em) {
    .enquiry-header-section {
      height: 100%;
      border-radius: 0; } }
  .enquiry-header-section h2 {
    margin: 0;
    font-weight: 700;
    font-size: 0.875rem;
    color: #E93330;
    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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
      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: 81.24875em) {
      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: 81.25em) {
      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: 81.25em) {
    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: 81.25em) {
    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: 81.24875em) {
      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: 81.25em) {
      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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
      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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
    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: 81.25em) {
      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: 81.25em) {
    .call-type-icon {
      margin: 0 auto; } }
  .call-type-icon:before {
    font-family: "fontello";
    font-size: 14px;
    color: #da7e7c; }
  .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: 81.25em) {
    .call-source-icon {
      margin: 0 auto; } }
  .call-source-icon:before {
    font-family: "Font Awesome Solid";
    font-size: 14px;
    color: #da7e7c; }
  .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: 81.25em) {
    .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 #E93330;
    font-size: 13px;
    font-family: "fontello-jelawrence";
    line-height: 1;
    text-align: center;
    background: white;
    color: #E93330;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .back-top-button:before {
        font-size: 17px; } }
  .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: #E93330;
      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: #E93330;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .back-top-button:active:before, .back-top-button:active:active:before {
    background: #ff6f20;
    color: #ffffff;
    border-color: #ff6f20;
    -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: "fontello-jelawrence";
    font-size: 18px;
    color: #E93330;
    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: 81.25em) {
    .axis-section-content {
      margin: 0; } }
  .axis-section-content p {
    margin: 0;
    font-size: 1.0625rem; }
  .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: 81.25em) {
    .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: 81.25em) {
      .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.

*/
.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: 81.25em) {
  .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: #E93330;
      -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: #E93330;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      border: 1px solid #E93330; }
    .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 #E93330; }
    .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: 1.125rem;
      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: #E93330; }
    .modules-info-container .content strong {
      color: #E93330;
      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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
    .interactive-map-sorting-options .address-search-container input {
      width: 290px !important; } }
  @media screen and (min-width: 81.25em) {
    .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: #ec908e; }
  .interactive-map-sorting-options .separator {
    margin: 7px 0 2px;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .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: #ffffff;
  background-color: #E93330;
  border-width: 2px;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #000000;
      border-color: #000000;
      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: #484848;
    border-color: #484848;
    -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: rgba(218, 218, 218, 0.7);
    cursor: not-allowed; }
  .website-button:disabled:hover, .website-button.disabled:hover {
    border-color: rgba(218, 218, 218, 0.7); }
  .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: #d8b7b6;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .interactive-map-location-button:hover:before {
    color: #ff6f20;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .interactive-map-location-button:active:before {
    color: #E93330; }

.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: 81.25em) {
    .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: #E93330;
      font-family: "fontello-jelawrence";
      font-size: 10px;
      border-radius: 25px;
      z-index: 1; }
    .tree-menu ul label .label {
      margin-left: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      color: #E93330; }
  .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
      .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: white; }
    .tree-menu.assets > ul > li > label {
      background-color: #da7e7c; }

.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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .tree-menu-header {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .tree-menu-header .tree-menu-information {
        padding: 0; } }
  .tree-menu-header .tree-information {
    position: relative;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #E93330; }
    .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: #E93330; }
  .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 #E93330;
    background-color: #ffffff;
    color: #E93330;
    font-family: "fontello-jelawrence";
    font-size: 6px; }
  .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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
    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: #E93330; }
    .tooltip-content-container .breakdown-button-container a:hover {
      color: #ffffff; }
    .tooltip-content-container .breakdown-button-container a:active {
      color: #ffffff; }

/*
----- 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: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1px;
  word-spacing: 2px;
  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: 81.25em) {
    .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: #ff6f20;
      border-color: #ff6f20;
      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: #E93330;
    border-color: #E93330;
    -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: rgba(218, 218, 218, 0.7);
    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: rgba(218, 218, 218, 0.7); }
  .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: #E93330;
    -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: 81.25em) {
    .scanner-camera-selector-container {
      margin: 0 auto 20px; } }
  .scanner-camera-selector-container .label {
    width: 100%;
    margin: 0 0 10px 0;
    color: #E93330;
    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: 81.25em) {
      .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: 81.25em) {
      .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: #E93330; }
  .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: #E93330;
    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: #ff6f20;
      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: #E93330;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .tagging-container .tag-item.remove-button:hover:after {
      color: #ff6f20;
      -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: #da7e7c;
  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: 81.25em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 110px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-search-container {
    max-width: 500px; } }

@media screen and (min-width: 81.25em) {
  .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: 81.25em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      max-width: 190px;
      width: auto; } }

@media screen and (min-width: 81.25em) {
  .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: #a0a0a0; }

.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: #E93330; }

.multi-field-lookup .multi-field-options-container {
  margin: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.24875em) {
    .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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, #E93330); }

.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, #ff6f20);
      -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: 81.25em) {
      .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, #E93330);
      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: 81.25em) {
      .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, #E93330);
      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: 81.25em) {
        .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: 81.25em) {
        .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: #ec908e;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-additional-links .attachment:hover {
    color: #ff6f20; }
    .documentation-additional-links .attachment:hover:before {
      color: #ff6f20;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-additional-links .attachment:active {
    color: #E93330; }
    .documentation-additional-links .attachment:active:before {
      color: #E93330; }
  .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: 0 0 30px;
  padding: 0 0 15px;
  color: #E93330;
  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: 0 0 20px;
  padding: 0 0 15px;
  color: #E93330;
  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: 0;
  padding: 10px 0;
  color: #E93330;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .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: 0;
  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: 0;
  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: 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: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  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: 81.25em) {
      .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .documentation-content-container table tbody tr {
        display: table-row; } }
  .documentation-content-container table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.24875em) {
    .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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  font-size: 1.125rem;
  -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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
    .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: #E93330;
      -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: #E93330; }
      .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.5;
  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: #E93330;
      border-radius: 5px; }

.documentation-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.5; }
  .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: 1.125rem;
  font-weight: 400;
  line-height: 1.5; }

.documentation-content-container ul + h1, .documentation-content-container ol + h1 {
  margin-top: 30px; }

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

.documentation-content-container ul + h4, .documentation-content-container ol + h4 {
  margin-top: 0; }

.documentation-content-container ul + h5, .documentation-content-container ol + h5 {
  margin-top: 0; }

.documentation-content-container ul + h6, .documentation-content-container ol + h6 {
  margin-top: 0; }

.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: 1rem;
    font-weight: 600;
    text-align: center; }

@media screen and (min-width: 81.25em) {
  .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: 81.25em) {
      .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, #ff6f20);
      -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: 81.25em) {
      .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, #ff6f20); }
    .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: 10px;
          -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, #ff6f20);
          -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: 81.24875em) {
        .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: 81.25em) {
          .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: 81.25em) {
        .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: 81.25em) {
    .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: "fontello-jelawrence";
      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: 81.25em) {
    .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: 1300px;
            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: #ff6f20;
        border-color: #ff6f20;
        -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: #ff6f20; }
    .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: 1.125rem;
      font-weight: 700; }
  .video-player-container .video-player-indicator-text {
    font-size: 0.8125rem;
    font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    .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=81.25em&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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  font-weight: normal;
  line-height: 1.5;
  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.25rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #a0a0a0;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  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 #dadada;
    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: #aeaeae;
  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.5;
    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.25rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #a0a0a0;
  border-radius: 0;
  background-color: #ffffff;
  font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  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 #dadada;
    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: #aeaeae;
    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: 1300px;
  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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
  .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: 81.25em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
  .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: #ff6f20;
  -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: #E93330; }
    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: 81.24875em) {
  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.875rem;
    color: #E93330;
    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: #E93330;
    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: #e93330;
    color: #000000; }
  .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: #E93330; }
  .tabs.primary > li > a {
    color: #000000; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #e82623; }

.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: 81.25em) {
    .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: #E93330 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 #E93330;
    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 #E93330;
  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 #E93330 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 #E93330 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: #E93330; }

.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: 81.25em) {
  .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.25em) {
  .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: 81.24875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 81.25em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 81.25em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 81.24875em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 81.24875em), 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: 81.25em) {
    .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: #E93330;
      -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: #000000;
      -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: #484848;
      -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: #E93330;
    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: 81.25em) {
    .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: 81.25em) {
    .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: #E93330;
      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: #E93330;
      -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: #000000;
      -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: #484848;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.25em) {
      .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: #aeaeae; }
  .menu.accordion-menu > li:hover > a:after, .dropdown.menu.accordion-menu > li:hover > a:after {
    color: #ffffff;
    -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: #ec908e;
    -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: 10px;
      font-family: "fontello-jelawrence";
      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: 81.24875em) {
    .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: 10px;
      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: "fontello-jelawrence";
      font-size: 10px;
      line-height: 10px;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  @media screen and (max-width: 81.24875em) and (min-width: 81.25em) {
    .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: 10px;
    font-family: "fontello-jelawrence";
    border: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .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: 81.24875em) {
    .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, transparent); }
    .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, #E93330); }
    .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, #E93330); }
    .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, transparent); }
      .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, #E93330); }
  .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, transparent); }
    .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, #E93330); }
  .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, transparent); }
    .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, #E93330); }
      .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, #E93330); }
  .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, transparent); }
    .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, #E93330); }
      .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, #E93330); }
  .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: 81.25em) {
      .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.5; }
    .menu > li:hover, .dropdown.menu > li:hover {
      background-color: #E93330; }
      .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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.5; }
      @media screen and (min-width: 81.25em) {
        .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, #E93330); }
      .menu > li > ul:not(.submenu), .dropdown.menu > li > ul:not(.submenu) {
        display: none; }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul, .dropdown.menu > li > ul {
          padding: 0; } }
      @media screen and (min-width: 81.25em) {
        .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: "fontello-jelawrence";
        font-size: 10px; }
  .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: #E93330;
        background-color: #eeeeee; }
        .menu.on-page-menu > li:hover > a, .dropdown.menu.on-page-menu > li:hover > a {
          color: #E93330; }
      .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
        margin-left: 35px; }
        @media screen and (min-width: 81.25em) {
          .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: 81.25em) {
      .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: #000000;
      -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: #ffffff;
        -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: #ffffff; }
      .menu .home-button:active a:before, .dropdown.menu .home-button:active a:before {
        background-color: transparent;
        color: #E93330; }
    .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: 81.25em) {
      .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: 81.25em) {
        .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: #E93330;
          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: 81.25em) {
      .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: 81.25em) {
        .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: #E93330;
          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: 81.25em) {
        .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: 81.25em) {
        .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: "fontello-jelawrence";
          font-size: 10px;
          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: 81.25em) {
            .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
              color: #ffffff; } }
      .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: 81.24875em) {
          .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: #ff6f20; }
        .menu .site-setting-menu .currency .label:active, .dropdown.menu .site-setting-menu .currency .label:active {
          color: #E93330; }
    .menu .site-setting-menu .is-dropdown-submenu-parent, .dropdown.menu .site-setting-menu .is-dropdown-submenu-parent {
      top: calc(100% + 6.5px) !important; }
    .menu .site-setting-menu.is-active > a:hover .label, .dropdown.menu .site-setting-menu.is-active > a:hover .label {
      color: #E93330; }
    @media screen and (min-width: 81.25em) {
      .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: #E93330; } }
    @media screen and (min-width: 81.25em) {
      .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: #ffffff;
  font-family: "Font Awesome Solid";
  background-color: transparent;
  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: #000000;
  -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: #E93330; }

ul.menu li a[href^="mailto:"]:before {
  content: "";
  font-size: 14px; }

ul.menu li a[href^="tel:"] {
  font-size: 1.125rem; }
  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: 81.25em) {
    .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: #E93330;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .submenu.js-dropdown-active {
    display: block; }
  .submenu > li.is-active {
    background-color: #E93330; }
    .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        content: "";
        height: 10px;
        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: "fontello-jelawrence";
        font-size: 10px;
        line-height: 10px;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }
  @media screen and (min-width: 81.25em) and (min-width: 81.25em) {
    .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: 81.25em) {
      .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: 81.25em) {
        .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
          width: 550px;
          display: none; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a:before {
      display: none; } }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .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: 81.25em) {
      .mega-menu-container .level2 li a, .header-menu-right-container .level2 li a {
        position: relative;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: #000000;
    -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: #ffffff;
      -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: #ffffff; }
    .mega-menu-container ul.menu > li:active > a, .header-menu-right-container ul.menu > li:active > a {
      color: #E93330; }
  .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
    position: relative;
    text-transform: uppercase;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
        padding: 15px 15px;
        font-size: 0.9375rem;
        font-weight: 700;
        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: 81.25em) {
    .mega-menu-container ul.menu > li > ul, .header-menu-right-container ul.menu > li > ul {
      width: 1300px;
      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: 81.25em) {
      .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: #E93330; }
    .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
      color: #E93330;
      font-size: 1.0625rem;
      font-weight: 700;
      line-height: 1.5;
      text-transform: uppercase; }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
    .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: #E93330;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.5;
    text-transform: uppercase; }
    @media screen and (min-width: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
      .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: 81.25em) {
        .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: #ff6f20; }
      .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: #E93330; }
    .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: #ff6f20; }

/*
----- 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: #E93330;
  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: 1.1875rem; }
    .search-results-suggestions a.suggestion:hover {
      color: #E93330;
      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: #E93330;
  color: #ffffff;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .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: 81.25em) {
    .listing-container {
      padding: 15px 0; } }

.contentContainer {
  position: relative; }
  .contentContainer[data-content-updating=true] {
    display: none; }
  @media screen and (min-width: 81.25em) {
    .contentContainer {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer #attribute-filters-form {
      max-width: 280px;
      padding: 0 1% 0 0; } }
  @media screen and (min-width: 81.25em) {
    .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: #E93330;
        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: 81.25em) {
        .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: 1.125rem;
      font-weight: 600;
      font-family: "Roboto Condensed", "Roboto Condensed 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: "Roboto Condensed", "Roboto Condensed Fallback", "Arial";
        color: var(--primary-colour-lightness-0);
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .description-col {
        width: 55%; }
        @media screen and (min-width: 81.25em) {
          .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: 81.25em) {
        .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.25em) {
          .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: 81.25em) {
        .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: 81.25em) {
          .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: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .image {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1; } }
        @media screen and (min-width: 81.25em) {
          .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: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2; } }
        @media screen and (min-width: 81.25em) {
          .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: 1.125rem; }
        .contentContainer #productListItems.list .rowContainer .description-col .group-description {
          color: #484848;
          font-size: 1.125rem;
          font-weight: 600;
          line-height: 1.2; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:hover {
            color: #E93330;
            text-decoration: underline; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:active {
            color: #ff6f20; }
        .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: 1.125rem; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4; } }
        @media screen and (min-width: 81.25em) {
          .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: 1.125rem;
        font-weight: 600;
        color: #E93330; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3; } }
        @media screen and (min-width: 81.25em) {
          .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: 81.24875em) {
          .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: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            max-width: 25%; } }
      @media screen and (min-width: 81.25em) {
        .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: 81.25em) {
          .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: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5; } }
        @media screen and (min-width: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
              .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: 81.25em) {
            .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: 81.25em) {
          .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: 81.25em) {
            .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: 81.25em) {
            .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: 81.25em) {
            .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: 1.125rem;
        line-height: 1.2; }
        .contentContainer #productListItems.list .rowContainer .description:hover {
          color: #ff6f20;
          text-decoration: underline; }
      .contentContainer #productListItems.list .rowContainer .code {
        display: block;
        color: #000000;
        font-size: 1.125rem; }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label {
          display: none; } }
      @media print, screen and (max-width: 81.24875em) {
        .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.2; }
          .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: 81.25em) {
              .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: "Roboto Condensed", "Roboto Condensed 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: 81.25em) {
      .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: 81.25em) {
    .third-party-results-container .image-container {
      width: 150px; } }
  .third-party-results-container .description-container p {
    padding: 0;
    color: #E93330;
    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: 81.25em) {
      .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: #E93330;
      -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: #000000;
      -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: #484848;
      -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: #E93330;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .development-drawer .option:active {
      background-color: #ff6f20;
      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: #E93330;
  --primary-colour-lightness-1: #eb4745;
  --primary-colour-lightness-2: #ed5c59;
  --primary-colour-lightness-3: #f0706e;
  --primary-colour-lightness-4: #f28583;
  --primary-colour-lightness-5: #f49998;
  --primary-colour-lightness-6: #f6adac;
  --primary-colour-lightness-7: #f8c2c1;
  --primary-colour-lightness-8: #fbd6d6;
  --primary-colour-lightness-9: #fdebea;
  --primary-colour-lightness-10: #fef5f5;
  --secondary-colour-lightness-0: #ff6f20;
  --secondary-colour-lightness-1: #ff7d36;
  --secondary-colour-lightness-2: #ff8c4d;
  --secondary-colour-lightness-3: #ff9a63;
  --secondary-colour-lightness-4: #ffa979;
  --secondary-colour-lightness-5: #ffb790;
  --secondary-colour-lightness-6: #ffc5a6;
  --secondary-colour-lightness-7: #ffd4bc;
  --secondary-colour-lightness-8: #ffe2d2;
  --secondary-colour-lightness-9: #fff1e9;
  --secondary-colour-lightness-10: #fff8f4;
  --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: 1300px;
  --uncontained-content-max-width: 1920px;
  --primary-font: Roboto Condensed, Roboto Condensed Fallback, Arial;
  --smooth-edges-enabled: false;
  --smooth-edges-level: 15px;
  --border-radius-1: 5px;
  --border-radius-2: 25px;
  --global-line-height: 1.5;
  --typography-body-font-colour: #000000;
  --buttons-border-radius: 0; }

@font-face {
  font-family: "Roboto Condensed Fallback";
  src: local("Arial");
  size-adjust: 95.35%;
  ascent-override: 75%;
  descent-override: 25%;
  line-gap-override: 4.98%; }

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: 81.25em) {
  .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: 81.25em) {
    .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: 81.24875em) {
  hr.mobile-seperator {
    margin: 30px 0; } }

#footer-gtm-widget {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    #footer-gtm-widget {
      margin-top: 15px;
      margin-bottom: 15px; } }

#group-banner-carousel-container, .group-banner {
  margin-bottom: 20px; }

@media screen and (min-width: 81.25em) {
  #categoryGridOverride .large-2 {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    width: 18.33333%;
    float: left; } }
  @media screen and (min-width: 81.25em) and (min-width: 40em) {
    #categoryGridOverride .large-2 {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
    #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 #E93330; }

#register-submit {
  margin-top: 10px; }

.forgotten-password-link {
  width: 100%;
  display: block;
  text-align: right;
  color: #E93330;
  font-weight: 600;
  font-style: italic;
  font-size: 1.125rem;
  font-family: "Roboto Condensed", "Roboto Condensed Fallback", "Arial"; }
  .forgotten-password-link:hover {
    color: #ff6f20; }
  .forgotten-password-link:active {
    color: #da7e7c; }

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: 81.25em) {
    .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: #E93330;
      -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: #E93330; }
      .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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImplbGF3cmVuY2UvYXBwLmNzcyIsImplbGF3cmVuY2UvYXBwLnNjc3MiLCIuLi9nbG9iYWwvX2Z1bmN0aW9ucy5zY3NzIiwiamVsYXdyZW5jZS9icmFuZGluZy5zY3NzIiwiLi4vZ2xvYmFsL19icmFuZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzIiwiLi4vZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIi4uL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9nbG9iYWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2dsb2JhbC9fdGFibGVzLnNjc3MiLCIuLi9nbG9iYWwvX2lucHV0cy5zY3NzIiwiLi4vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zaXRlLXN0eWxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9faGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFqYXguc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19maWx0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kYWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kdWxlcy12Mi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fc3RvY2staW5kaWNhdG9ycy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Jhc2tldC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2FjY291bnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jbXMtcGFnZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jaGVja291dC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvXzQwNC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saWdodGJveC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYWduaWZpZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2J4U2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXNsaWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b29sdGlwLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJlYWQtbW9yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1hdXRvY29tcGxldGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3N3ZWV0LWFsZXJ0LWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtaW1hZ2Utb3ZlcmxheXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY291bnRkb3duLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXB3YS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYXltZW50LW1ldGhvZHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWVxdWlwbWVudC1zZWxlY3Rvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1waWNrLW4tbWl4LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFuaW1hdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY2xpZW50LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b3AtYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0eWxlLWd1aWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFkbWluLnNjc3MiLCIuLi9jb21wb25lbnRzL19vZmZfY2FudmFzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFjY29yZGlvbi10YWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0aWNreS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saXN0LXNvcnRpbmctb3B0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYW5hZ2UtY2FsbHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc2VjdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxsaXBzaXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmx1ci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zdGF0aWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3RvY2tpc3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdHJlZS1tZW51LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3Rhci1yYXRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWJhcmNvZGUtc2Nhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXRhZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdG9nZ2xlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tdWx0aS1maWVsZC1sb29rdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxlbWVudC1wcmludC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1kb2N1bWVudGF0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWNvbnRleHQtbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcmljaC10ZXh0LWVkaXRvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy12aWRlby1wbGF5ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtbXVsdGltZWRpYS1lbGVtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tZW51cy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiLi4vZ2xvYmFsL19kZWJ1Z2dlci5zY3NzIiwiLi4vZ2xvYmFsL19hcHAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RURLRTtBRW1IRjs7Ozs7Ozs7Ozs7Q0Z2R0M7QUduQkQ7Ozs7OztFSDBCRTtBSTBJRSwrSEFBWTtBQ3BLaEI7Ozs7RUxnQ0U7QUt4QkY7RUFDRSxpREFBOEQ7RUFDOUQsMERBQThDLEVBQUE7O0FBR2hEO0VBQ0Usb0NBQW9DO0VBQ3BDLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJDOEI2QjtFRDdCN0Isb0hBQzhELEVBQUE7O0FBR2hFOztFQUVFLGdCQUFnQixFQUFBOztBQUloQjtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FFNUJ6RTs7OztFUHNrREU7QUs5akRGO0VFQ0UsZ0RBQWdFO0VBQ2hFLHlEQUFnRCxFQUFBOztBQUdsRDtFQUNFLGtDQUFrQztFQUNsQyxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG1CRDhCNkI7RUM3QjdCLHNIQUMrRCxFQUFBOztBQUdqRTs7RUFFRSxnQkFBZ0IsRUFBQTs7QUN4QmxCOzs7O0VSMGxERTtBS2xsREY7RUdDRSxnREFBZ0U7RUFDaEUsdURBQTRDLEVBQUE7O0FBRzlDO0VBQ0Usa0NBQWtDO0VBQ2xDLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJGOEI2QjtFRTdCN0Isa0hBQzZELEVBQUE7O0FBRy9EOztFQUVFLGdCQUFnQixFQUFBOztBSjhLZDtFQUNJLGtDQUFrQztFQUNsQyx5UEFFNEM7RUFDNUMsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTs7QUFJdEI7RUFDSSxpQ0FBaUM7RUFDakMsc1BBRTJDO0VBQzNDLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7O0FBR3RCO0VBQ0ksbUNBQW1DO0VBQ25DLDRQQUU2QztFQUM3QyxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBOztBQVV0QjtFQUNJLHVCQUwwQjtFQU0xQix1ZkFJb0U7RUFDcEUsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrQkFBa0IsRUFBQTs7QUFTdEI7RUFDSSxrQ0FMNkM7RUFNN0MsNmpCQUl3RjtFQUN4RixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBSzQ2SjFCOzs7Ozs7OztFVDloSEU7QVVqcERGO0VBQ0ksV0FBVztFQUNYLFNBQVM7RUFDVCxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7RUMyS1o7SUQvS1I7TUFNUSwwQkFBa0I7TUFBbEIsdUJBQWtCO01BQWxCLGtCQUFrQjtNQUNsQixZQUFZO01BQ1oscUJBQXFCO01BQ3JCLGdCQUFnQixFQUFBLEVBRXZCOztBQUVEO0VBRUksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFKbkI7SUVtSEksa0JBQWtCO0lBQ2xCLGNUekZhO0lTMEZiLG9CQVg4RjtJQWdCOUYsa0JBQWtCLEVBQUE7SUFDbEI7TUFDSSxXQUFXO01BQ1gsV0FKc0g7TUFLdEgsV0g5RmdCO01HK0ZoQixrQkFBa0I7TUFRZCxTQWR5TDtNQW1CN0wsY0FBYztNQUNkLFlBQVk7TUFHWix1QkFBa0Q7TUFDbEQsbUJBQW1CO01BQ25CLHFCUmpJeUIsRUFBQTtNUXdJekI7UUE5Qko7VUFnQ1EsZ0NSMUlxQjtVUTJJckIsNkJSMUpTLEVBQUEsRVE0SmhCOztBRjFJTDtFQUVRLGdCRGtCbUIsRUFBQTs7QUNkM0I7RUFDSSxjUEFhO0VPQ2IsbUJHaUQ0RDtFSGhENUQscUVQNUJzRSxFQUFBO0VPeUIxRTtJQVFRLGdCRE1tQjtJQ0ZuQixvQkd1Q3dEO0lIdEN4RCxnQkR5QlM7SUN4QlQsb0JEZ0NVO0lDckJOLGdCRHlCRyxFQUFBO0VDbERmO0lBbUNRLG9CR2dCd0Q7SUhmeEQsZ0JER1M7SUNGVCxvQkRVVTtJQ0NOLGdCREdHLEVBQUE7O0FDT2Y7RUFFSSxtQkdUNEQ7RUhVNUQscUVQdEZzRTtFTzBGdEUsZ0JEa0RrRixFQUFBO0VDekR0RjtJQVNRLGVQMklZO0lPMUlaLGdCRGdCZTtJQ2ZmLGNOMUZTO0lNMkZULHlCTnhGUztJTXlGVCxrQkQ4Qlk7SUM3QloseUJQMEhlO0lPekhmLG1CR3RCd0Q7SUh1QnhELGdCRFRTO0lDVVQsc0JQNkhZO0lPNUhaLG9CRG1DWTtJQ2pDUixnQlI5RlM7SVFpR1QsZ0JESmUsRUFBQTtFQ25CM0I7SUEyQlEsU0RBUTtJQ0NSLGNQckZTO0lPc0ZULG9CUDRHVTtJTzNHVixrQkdyQ3dEO0lIc0N4RCxnQkR2QlM7SUN3QlQsc0JQK0dZO0lPOUdaLG9CRHFCWSxFQUFBO0VDdERwQjtJQXlDUSxTRGJPO0lDY1AsZ0JQMkdhO0lPMUdiLG1CR2xEd0Q7SUhtRHhELGdCRGhFUztJQ2lFVCx5QlA2RmU7SU96RmYsc0JQK0ZZO0lPOUZaLG9CREtZO0lDQVIsZ0JEL0RHO0lHdUNYLGtCQUFrQjtJQUNsQixjVHpGYTtJUzBGYixvQkFYOEY7SUFnQjlGLGtCQUFrQixFQUFBO0lBQ2xCO01BQ0ksV0FBVztNQUNYLFdBSnNIO01BS3RILFdIOUZnQjtNRytGaEIsa0JBQWtCO01BUWQsU0FkeUw7TUFtQjdMLGNBQWM7TUFDZCxZQUFZO01BR1osdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQlJqSXlCLEVBQUE7TVF3SXpCO1FBOUJKO1VBZ0NRLGdDUjFJcUI7VVEySXJCLDZCUjFKUyxFQUFBLEVRNEpoQjtFRjFFTDtJQStEUSxjUHVGVztJT3RGWCxnQkRuQ2U7SUNvQ2YsY05oSlM7SU1pSlQseUJOOUlTO0lNK0lULG1CRzFFd0Q7SUgyRXhELGdCRDFEUztJQzJEVCxrQkFBa0I7SUFDbEIseUJQcUVlO0lPbkVYLHFCUHlFTTtJT3hFTixpQkFBaUI7SUFHakIsZ0JSdEpTLEVBQUE7SVN3SmI7TUQ5RVI7UUErRVksZ0JEbERxQixFQUFBLEVDb0Q1Qjs7QUFFTDtFQUNJLFNBQVM7RUFDVCxxRVB4S3NFO0VPeUt0RSxtQkc3RjREO0VIOEY1RCxnQkRiWTtFQ2NaLGNQakphLEVBQUE7RU80SWpCO0lBYVEsV0FBVztJQUNYLFNEZk87SUNnQlAsZVBrRFk7SU9qRFoseUJOL0tTO0lNZ0xULGtCQUFrQjtJQUNsQixtQkc1R3dEO0lINkd4RCxnQkQ1RlM7SUM4RkwscUJQeUNNO0lPdENOLGdCUnJMUztJUXVMYix5QlA4QmU7SU83QmYsY043TFMsRUFBQTtFTWtLakI7SUE4QlEsa0JBQWtCO0lBQ2xCLGdCRC9CYztJQ2dDZCxpQkQ1QmM7SUM2QmQsbUJHM0h3RDtJSCtIeEQseUJQa0JlO0lPakJmLGNQbExTLEVBQUE7SU80SWpCO01Bd0NZLFdBQVc7TUFDWCxXQUFXO01BQ1gsV0RqTFk7TUNrTFosa0JBQWtCO01BQ2xCLE9BQU87TUFDUCxTQUFTO01BQ1QsdUJBQWtEO01BQ2xELG1CQUFtQjtNQUNuQixxQk50TXFCLEVBQUE7O0FNME1qQztFQUNJLGNOcE5hO0VNcU5iLG1CR2hKNEQ7RUhpSjVELGdCRHF3Q087RUNwd0NQLHFFUDlOc0UsRUFBQTs7QU9zTzFFO0VBQ0ksY05oT2E7RU1pT2IsbUJHNUo0RDtFSDZKNUQsZ0JEMHZDTztFQ3p2Q1AscUVQMU9zRSxFQUFBOztBT2tQMUU7RUFDSSxjTjVPYTtFTTZPYixtQkd4SzREO0VIeUs1RCxnQkQrdUNPO0VDOXVDUCxxRVB0UHNFLEVBQUE7O0FPZ1ExRTtFQUdZLGNOL1BLO0VNZ1FMLG1CR3hMb0Q7RUh5THBELGdCQUFnQixFQUFBOztBQU01QjtFQUNJLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBRWxCLHFCQUFxQjtFQUVyQiwyQkFBcUI7TUFBckIsd0JBQXFCO1VBQXJCLHFCQUFxQjtFQUNyQixTQUFTLEVBQUE7RUMzR0w7SURxR1I7TUFRUSxjQUFjO01BQ2QsaUJBQWlCLEVBQUEsRUFXeEI7RUN6SE87SURxR1I7TUFZWSxTQUFTLEVBQUEsRUFRcEI7RUN6SE87SURxR1I7TUFpQlksZ0JBQWdCLEVBQUEsRUFFdkI7O0FBS0w7RUFDSSxxQkQyZjBCO0VDeGYxQixpREFBd0Q7RUFDeEQsb0JEeWZ5QjtFQ3hmekIsbUJHN040RDtFSDhONUQsNENOckNrQjtFTXFDbEIsb0NOckNrQixFQUFBO0VNOEJ0QjtJQVNRLGNON0xNLEVBQUE7SU1vTGQ7TUFXWSxjTi9MRSxFQUFBO0VNb0xkO0lBZVEsY043TE0sRUFBQTtJTThLZDtNQWlCWSxjTi9MRSxFQUFBO0VNOEtkO0lBcUJRLGNON0xNLEVBQUE7SU13S2Q7TUF1QlksY04vTEUsRUFBQTtFTXdLZDtJQTJCUSxtQkdsUHdEO0lIbVB4RCxjUHJTUztJT3NTVCxlQUFlLEVBQUE7SUE3QnZCO01BK0JZLFlERkY7TUNHRSxpQkFBaUI7TUFDakIsbUNOM0orQjtNTTRKL0IsZUFBZSxFQUFBO0VBbEMzQjtJQXNDUSxtQkFBbUI7SUFDbkIsWURpMENvQixFQUFBO0VDeDJDNUI7SUE2Q1ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWix3Q0R5MkJrQztJQ3IyQmxDLGdCUDlFTztJTytFUCxrQlBtRHVCLEVBQUE7SU92R25DO01Bc0RnQixZRC9CTjtNQ2dDTSxrQkFBa0I7TUFDbEIsY05wVkM7TU1xVkQsbUNObkwyQjtNTW9MM0Isb0JHalJnRDtNSGtSaEQsOEJOekZNO01NeUZOLHNCTnpGTSxFQUFBO0lNOEJ0QjtNQThEZ0IsMENEMjFCOEIsRUFBQTtNQ3o1QjlDO1FBZ0VvQixjUHpVSDtRTzBVRyw4Qk5oR0U7UU1nR0Ysc0JOaEdFLEVBQUE7SU0rQnRCO01BcUVnQix3Q0RxMUI2QixFQUFBO01DMTVCN0M7UUF1RW9CLGNOdlNILEVBQUE7RU1nT2pCO0lBZ0ZZLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osd0NEczBCa0M7SUNsMEJsQyxnQlBqSE87SU9rSFAsa0JQZ0J1QixFQUFBO0lPdkduQztNQXlGZ0IsWURuRU47TUNvRU0sa0JBQWtCO01BQ2xCLGNOdlhDO01Nd1hELG1DTnROMkI7TU11TjNCLG9CR3BUZ0Q7TUhxVGhELDhCTjVITTtNTTRITixzQk41SE0sRUFBQTtJTThCdEI7TUFrR2dCLDBDRHV6QjhCLEVBQUE7TUN6NUI5QztRQW9Hb0IsY1A3V0g7UU84V0csOEJOcElFO1FNb0lGLHNCTnBJRSxFQUFBO0lNK0J0QjtNQXlHZ0Isd0NEaXpCNkIsRUFBQTtNQzE1QjdDO1FBMkdvQixjTjNVSCxFQUFBO0VNZ09qQjtJQW9IWSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHdDRGt5QmtDO0lDOXhCbEMsZ0JQckpPO0lPc0pQLGtCUHBCdUIsRUFBQTtJT3ZHbkM7TUE2SGdCLFlEckdKO01Dc0dJLGtCQUFrQjtNQUNsQixjTjNaQztNTTRaRCxtQ04xUDJCO01NMlAzQixvQkd4VmdEO01IeVZoRCw4Qk5o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SnBRRztJSWhLUjtNQXVhWSwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQixFQUFBLEVBRTNCO0VBemFMO0lBNGFZLFlOMUlPO0lNMklQLGlDWHRRMkI7SVd1UTNCLGVBQWU7SUFDZixjWDdacUI7SVc4WnJCLDhCWDVLVTtJVzRLVixzQlg1S1UsRUFBQTtFV3BRdEI7SUFvYmdCLGNYbFhDO0lXbVhELDhCWGxMTTtJV2tMTixzQlhsTE0sRUFBQTtFV25RdEI7SUEyYmdCLGNabGFDLEVBQUE7RVl6QmpCO0lBaWNZLFlOM0lNO0lNNElOLGtCQUFrQjtJQUNsQixpQ1g1UjJCO0lXNlIzQixrQkZ6WG9EO0lFMFhwRCxjWG5icUI7SVdvYnJCLDhCWG5NVTtJV21NVixzQlhuTVUsRUFBQTtFV25RdEI7SUEwY1EscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjYnpINkQ7SWEwSDdELGdCQUFnQixFQUFBO0lKeFNoQjtNSXJLUjtRQStjWSxrQkFBa0IsRUFBQSxFQUV6QjtFSjVTRztJSXJLUjtNQXNkb0IsY0FBYyxFQUFBLEVBRXJCOztBQUliO0VBRVEsNkJYOWRhLEVBQUE7RVc0ZHJCO0lBSVksbUJOaTZCVztJTWg2Qlgsb0JGdFpvRDtJRXVacEQsZ0JOaTZCUTtJTWg2QlIsd0NOaTZCZ0M7SU1oNkJoQyxnQ1hyZHFCO0lXc2RyQixrQk5rNkJVLEVBQUE7SU0zNkJ0QjtNQVlnQixvQkY3WmdEO01FOFpoRCxnQk4wNUJJO01NejVCSix3Q04wNUI0QixFQUFBO0VNeDZCNUM7SUFtQlksZ0JBQWdCLEVBQUE7RUFuQjVCO0lBc0JZLG9CRnZhb0Q7SUV3YXBELGdCTnZkbUI7SU13ZG5CLHdDTmc1QmdDLEVBQUE7O0FNeDZCNUM7RUE0QlEsNkJYeGZhLEVBQUE7RVc0ZHJCO0lBOEJZLGlCTms1QlM7SU1qNUJULG1CRmhib0Q7SUVpYnBELGdCTms1QlE7SU1qNUJSLGNYdmZLO0lXd2ZMLGdDWC9lcUIsRUFBQTs7QVc2Y2pDO0VBc0NRLHdCQUF3QjtFQUN4QixxRVpwZ0JrRSxFQUFBOztBWTJnQjFFO0VBQ0ks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QztFQXVCNUIsV0lnRW9OO0VKaER4TixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVGpZYTtFU2tZYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtzUlI7TUpBUSwwQklDd087TUpEeE8sdUJJQ3dPO01KRHhPLGtCSUN3TztNSkF4Tyw0Q0FBa0UsRUFBQSxFSVV6RTtFSkxHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlI5Yks7TVFnY0QscUJSaGNDO01Rb2NMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlJoY3lCO0lRa2NyQixxQlJsY3FCO0lRc2N6Qiw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwsc0NSMWVvQjtJUTRleEIsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxzQ1J2Zm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7RVl1THRCO0lKdEZJLHFDQUFnQztJQXVCNUIsV0lrRWdOO0lKbERwTixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixtREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUaFlhO0lTaVliLDBDUjdXK0M7SVE4Vy9DLGlCSCtjNEI7SUc5YzVCLG1CQ2pWNEQ7SURrVjVELGdCVHRKZTtJU3VKZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNS3NSUjtRSkFRLDBCSUdvTztRSkhwTyx1QklHb087UUpIcE8sa0JJR29PO1FKRnBPLDRDQUFrRSxFQUFBLEVJR3ZFO0lKRUM7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCVDNhSztRUzZhRCxxQlQ3YUM7UVNpYkwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNUamNTO01Ta2NULHlCUnhkUztNUTBkTCxxQlRwY0s7TVN3Y1QsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHNDUjFlb0I7TVE0ZXhCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NSdmZvQixFQUFBO0lRMmY1QjtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VZdUx0QjtJSnRGSSxxQ0FBZ0M7SUF1QjVCLFdJcUVnTjtJSnJEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjUnZWYTtJUXdWYix5Q1J4VmE7SVF5VmIsaUJIK2M0QjtJRzljNUIsbUJDalY0RDtJRGtWNUQsZ0JUdEplO0lTdUpmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVDlKZ0M7SVNpS2hDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FKQVEsMEJJTW9PO1FKTnBPLHVCSU1vTztRSk5wTyxrQklNb087UUpMcE8sNENBQWtFLEVBQUEsRUlNdkU7SUpEQztNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSbFlLO1FRb1lELHFCUnBZQztRUXdZTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J4WlM7TVF5WlQseUJSeGRTO01RMGRMLHFCUjNaSztNUStaVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwsc0NSMWVvQjtNUTRleEIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1J2Zm9CLEVBQUE7SVEyZjVCO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RVl1THRCO0lKdEZJLHFDQUFnQztJQXVCNUIsV0l3RTBNO0lKeEQ5TSxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixtREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNWdEVpRTtJVXVFakUseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsbUJDalY0RDtJRGtWNUQsZ0JUdEplO0lTdUpmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVDlKZ0M7SVNpS2hDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FKQVEsMEJJUzhOO1FKVDlOLHVCSVM4TjtRSlQ5TixrQklTOE47UUpSOU4sNENBQWtFLEVBQUEsRUlTdkU7SUpKQztNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSMVVFO1FRNFVFLHFCVm5IcUQ7UVV1SHpELHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjVGpjUztNU2tjVCx5QlJ4ZFM7TVEwZEwscUJUcGNLO01Td2NULDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxzQ1IxZW9CO01RNGV4QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDUnZmb0IsRUFBQTtJUTJmNUI7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTs7QVlxTXRCO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGVBQWU7RUFDZixpQkFBaUIsRUFBQTs7QUFFbkI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYyxFQUFBOztBQUtoQjtFSm5ISSxxQ0FBZ0M7RUF1QjVCLFdJNkY0TTtFSjdFaE4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlRqWWE7RVNrWWIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUdEplO0VTdUpmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVDlKZ0M7RVNpS2hDLHFCSGtjeUU7RUdqY3pFLGlCSDhid0I7RUczYnhCLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLbVRSO01KN0JRLDBCSThCZ087TUo5QmhPLHVCSThCZ087TUo5QmhPLGtCSThCZ087TUo3QmhPLDRDQUFrRSxFQUFBLEVJOEJ6RTtFSnpCRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJSOWJLO01RZ2NELHFCUmhjQztNUW9jTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJSaGN5QjtJUWtjckIscUJSbGNxQjtJUXNjekIsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHNDUnhlb0I7SVE0ZXhCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NScmZvQixFQUFBO0VRMmY1QjtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXdOdEI7RUp2SEkscUNBQWdDO0VBdUI1QixXSWlHbU47RUpqRnZOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1RoWWE7RVNpWWIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVHRKZTtFU3VKZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQkhrY3lFO0VHamN6RSxpQkg4YndCO0VHM2J4QixxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3VUUjtNSmpDUSwwQklrQ3VPO01KbEN2Tyx1QklrQ3VPO01KbEN2TyxrQklrQ3VPO01KakN2Tyw0Q0FBa0UsRUFBQSxFSWtDekU7RUo3Qkc7SUFDSTtNQUNJLGNUMWFLO01TMmFMLHVCVG5Ld0Q7TVNxS3BELHFCVDdhQztNU2liTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJSaGN5QjtJUWtjckIscUJSbGNxQjtJUXNjekIsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHNDUnhlb0I7SVE0ZXhCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NScmZvQixFQUFBO0VRMmY1QjtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWTJOdEI7RUoxSEkscUNBQWdDO0VBdUI1QixXSW9HK007RUpwRm5OLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Z0RWlFO0VVdUVqRSx5QlZ2RWlFO0VVd0VqRSxpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUswVFI7TUpwQ1EsMEJJcUNtTztNSnJDbk8sdUJJcUNtTztNSnJDbk8sa0JJcUNtTztNSnBDbk8sNENBQWtFLEVBQUEsRUlxQ3pFO0VKaENHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlIxVUU7TVE0VUUscUJWbkhxRDtNVXVIekQscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUmhjeUI7SVFrY3JCLHFCUjFkSztJUThkVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwsc0NSeGVvQjtJUTRleEIsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxzQ1JyZm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZOE50QjtFSjdISSxxQ0FBZ0M7RUF1QjVCLFdJdUd1TjtFSnZGM04sMkJJdUZnUTtFSnZGaFEsMkJJdUZnUTtFSnZGaFEsb0JJdUZnUTtFSnJGNVAseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxpREFBK0M7RUFDL0MsY1RoWWE7RVNpWWIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVHRKZTtFU3VKZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQkhrY3lFO0VHamN6RSxpQkg4YndCO0VHM2J4QixxQlRoWlM7RVNvWmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUs2VFI7TUp2Q1EsMEJJd0MyTztNSnhDM08sdUJJd0MyTztNSnhDM08sa0JJd0MyTztNSnZDM08sNENBQWtFLEVBQUEsRUl3Q3pFO0VKbkNHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlQzYUs7TVM2YUQscUJSMWJnQjtNUThicEIscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUmhjeUI7SVFrY3JCLHFCUmpkb0I7SVFxZHhCLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxzQ1J4ZW9CO0lRNGV4QixtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDUnJmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlpT3RCO0VKaElJLHFDQUFnQztFQXVCNUIsV0kwRzJNO0VKMUYvTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUaFlhO0VTaVliLHlCUmpaYTtFUWtaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtnVVI7TUoxQ1EsMEJJMkMrTjtNSjNDL04sdUJJMkMrTjtNSjNDL04sa0JJMkMrTjtNSjFDL04sNENBQWtFLEVBQUEsRUkyQ3pFO0VKdENHO0lBQ0k7TUFDSSxjVDFhSztNUzJhTCx5QlQzYUs7TVM2YUQscUJUN2FDO01TaWJMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjVGpjUztJU2tjVCx5QlJ4ZFM7SVEwZEwscUJUcGNLO0lTd2NULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxzQ1J4ZW9CO0lRNGV4QixtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDUnJmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlxT3RCO0VKcElJLHFDQUFnQztFQXVCNUIsV0k4RzRMO0VKOUZoTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUaFlhO0VTaVliLDZCUjFaaUI7RVEyWmpCLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVHRKZTtFU3VKZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQkhrY3lFO0VHamN6RSxpQkg4YndCO0VHM2J4QixxQlRoWlM7RVNvWmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU9wR2Q7SUt5VVI7TUpsRFksb0RBQW9FLEVBQUEsRUlvRC9FO0VMdFVPO0lLb1VSO01KOUNRLDBCSStDZ047TUovQ2hOLHVCSStDZ047TUovQ2hOLGtCSStDZ047TUo5Q2hOLG1EQUFrRSxFQUFBLEVJK0N6RTtFSjFDRztJQUNJO01BQ0ksY1I3Yks7TVE4YkwseUJUM2FLO01TNmFELHFHSG9pQnFDO01HaGlCekMscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSeFpTO0lReVpULHlCUnpaUztJUTJaTCxxQlIzWks7SVErWlQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHNDUnhlb0I7SVE0ZXhCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NScmZvQixFQUFBO0VRMmY1QjtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXdPdEI7RUFDRSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixRQUFRO0VBQ1IsbUJIdGE4RDtFR3VhOUQsZ0JQOGZrQztFTzVmaEMseUJiaFBvQyxFQUFBO0Vhd094QztJQVdJLFlicGVPO0lhcWVQLGVialk0QjtJYWtZNUIsa0NabFJpRDtJWW1SakQsbUJBQW1CLEVBQUE7RUFkdkI7SUFpQkkscUJBQXFCLEVBQUE7O0FBS3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFIckI7SUFNSSxZUDVHZ0I7SU82R2hCLGdCQUFnQjtJQUNoQixjWi9lNkI7SVlnZjdCLGlDWnBXbUM7SVlxV25DLFVBQVUsRUFBQTtFQVZkO0lBY0ksd0JBQWlEO0lBQ2pELHlCQUFrRDtJQUNsRCxrQkFBa0I7SUFDbEIsU0FBOEI7SUFDOUIsVUFBK0I7SUFDL0IsWUFOeUI7SUFPekIsMENaN2dCYTtJWThnQmIsY1pqaEJhO0lZa2hCYixrQkFBa0I7SUFDbEIsb0JIOWM0RDtJRytjNUQsZ0JBQWdCLEVBQUE7O0FBU3BCO0VKOUxJLHFDQUFnQztFQXVCNUIsV0l3S2tLO0VKeEp0SyxvQkl3Sm9NO0VKeEpwTSxvQkl3Sm9NO0VKeEpwTSxhSXdKb007RUp0SmhNLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBR3ZCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBR2hCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsNERBQStDO0VBQy9DLGNSblphO0VRb1piLHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQkl1SWlKO0VKdElqSixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQlQ1SjJCO0VTNkozQixpQkg4YndCO0VHM2J4QixxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVEwUWQ7Ozs7Ozs7O1NaMDBHQyxFWWwwR0M7RURqWEY7SUs4WFI7TUp4R1EsMEJJeUdzTDtNSnpHdEwsdUJJeUdzTDtNSnpHdEwsa0JJeUdzTDtNSnhHdEwsNENBQWtFLEVBQUEsRUl5R3pFO0VKcEdHO0lBQ0k7TUFDSSxjVDFhSztNUzJhTCx1QlJ4WXlEO01RMFlyRCxxQlQ3YUM7TVNpYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUTBNTjtRQUNDLGNUcmJBO1FTc2JBLDhCUjVNSztRUTRNTCxzQlI1TUssRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVGxjUztJU3NjTCxxQlR0Y0s7SVN3Y1QsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0lRZ09WO01BQ0MsY1JqZUksRUFBQTtFUXFlYjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHNDUjFlb0I7SVE0ZXhCLG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxzQ1J2Zm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUWlSN0M7SUFDSSxZSHpLRTtJRzBLRixrQkh1cUhRO0lHdHFIUixpQ1IxWDJCO0lRMlgzQixlSDRxSEE7SUd2cUhBLGNSMWZ1QztJUTJmdkMsOEJScFNVO0lRb1NWLHNCUnBTVSxFQUFBO0VRdVNsQjtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVltU3RCO0VBQ0UsU0FBUztFQUNULGFQNnFCd0M7RU81cUJ4QyxvQkgvZDhEO0VHZ2U5RCxnQlA2cUIyQztFTzVxQjNDLFlaaGZtRSxFQUFBO0VZMmVyRTtJQU9JLGdCQUFnQixFQUFBOztBQUlwQjtFQUNFLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBQ2xCLGFQa3FCd0M7RU9qcUJ4QyxvQkgxZThEO0VHMmU5RCxnQkFBZ0I7RUFDaEIsWVozZm1FO0VZNGZuRSx5Qlp4Z0JpRDtFWXlnQmpELHVCWjdmbUUsRUFBQTtFWXNmckU7SUFTTSxjYmxpQlc7SWFtaUJYLHVCWmhnQitEO0lZaWdCL0QscUJicGlCVyxFQUFBO0lheWhCakI7TUFhVSxjYnRpQk8sRUFBQTtFYXloQmpCO0lBaUJNLGNaamdCVztJWWtnQlgseUJaamtCVztJWWtrQlgscUJabGtCVyxFQUFBO0lZK2lCakI7TUFxQlUsY1pyZ0JPLEVBQUE7RVlnZmpCO0lBeUJNLFlQaE5vQjtJT2lOcEIsaUJQcXJCd0M7SU9wckJ4Qyx1Qlp4WDRCO0lZeVg1QixlUGtyQnNDO0lPanJCdEMsWVpuaEIrRCxFQUFBOztBWXVoQnJFO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLG9CSDlnQjhEO0VHK2dCOUQsZ0JBQWdCO0VBQ2hCLGNaM2lCaUQ7RVk0aUJqRCx5Qlo3a0IrQjtFWThrQi9CLHdFWnpWb0I7RVl5VnBCLGdFWnpWb0IsRUFBQTtFTy9GZDtJSzhhUjtNQVlNLGdCQUFnQjtNQUNoQixrQkhyaEIwRCxFQUFBLEVHcWpCL0Q7RUE3Q0Q7SUFnQk0sY1pobUJXO0lZaW1CWCx5QmIza0JXO0lhNGtCWCxxQmI1a0JXO0lhNmtCWCx3RVpuV2dCO0lZbVdoQixnRVpuV2dCLEVBQUE7SVlnVnRCO01BcUJVLGNacm1CTztNWXNtQlAsOEJadFdZO01Zc1daLHNCWnRXWSxFQUFBO0VZZ1Z0QjtJQTBCTSxjYnBsQlc7SWFxbEJYLHVCWmxqQitEO0lZbWpCL0QscUJidGxCVyxFQUFBO0lhMGpCakI7TUE4QlUsY2J4bEJPLEVBQUE7RWEwakJqQjtJQWtDTSxZUDFQb0I7SU8yUHBCLGlCQUFpQjtJQUNqQix1QlpsYTRCO0lZbWE1QixlQUFlO0lBQ2YsY1p6a0I2QztJWTBrQjdDLDhCWnRYZ0I7SVlzWGhCLHNCWnRYZ0IsRUFBQTtJTy9GZDtNSzhhUjtRQXlDVSxnQkFBZ0I7UUFDaEIsZUFBZSxFQUFBLEVBRXRCOztBQUdIO0VKN1JJLHFDQUFnQztFQXVCNUIsV0l1UWtPO0VKdlB0TyxvQkl1UHlRO0VKdlB6USxvQkl1UHlRO0VKdlB6USxhSXVQeVE7RUpyUHJRLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUaFlhO0VTaVliLHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWncrR0MsRVloK0dDO0VEdFhGO0lLa2VSO01KM01ZLDZDQUFvRSxFQUFBLEVJNk0vRTtFTC9kTztJSzZkUjtNSnZNUSwwQkl3TXNQO01KeE10UCx1Qkl3TXNQO01KeE10UCxrQkl3TXNQO01Kdk10UCw0Q0FBa0UsRUFBQSxFSXdNekU7RUpuTUc7SUFDSTtNQUNJLGNUMWFLO01TMmFMLHVCVG5Ld0Q7TVNxS3BELHFCVDdhQztNU2liTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RME1OO1FBQ0MsY1RyYkE7UVNzYkEsOEJSNU1LO1FRNE1MLHNCUjVNSyxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJSaGN5QjtJUWtjckIscUJSbGNxQjtJUXNjekIsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0lRZ09WO01BQ0MsY1QzY0ksRUFBQTtFUytjYjtJQUlRLGNWekp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHNDUnhlb0I7SVE0ZXhCLG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFFUSxzQ1JyZm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUWlSN0M7SUFDSSxZSG5LQztJR29LRCxrQkg4c0NRO0lHN3NDUixpQ1IxWDJCO0lRMlgzQixlSCtzQ0E7SUcxc0NBLGNSMWZ1QztJUTJmdkMsOEJScFNVO0lRb1NWLHNCUnBTVSxFQUFBO0VRdVNsQjtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlrWXRCO0VBRUksWVA1UVM7RU82UVQsa0JBQWtCO0VBQ2xCLGlDWm5lbUMsRUFBQTs7QVl5ZXZDO0VKM1NJLHFDQUFnQztFQXlCNUIsV0ltUmdJO0VKclFwSSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsK0NBQStDO0VBRS9DLHlCSG90SGdCO0VHbnRIaEIsaUJIK2M0QjtFRzljNUIsb0JDalY0RDtFRGtWNUQsZ0JJb1BzSDtFSm5QdEgsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFR3pieEIscUJSbGFTO0VRb2FiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQjtFWThZbEIsa0JablplO0VZb1pmLGtCQUFrQixFQUFBO0VMbmZkO0lLZ2ZSO01Kek5ZLDZDQUFvRSxFQUFBLEVJc08vRTtFTHhmTztJSzJlUjtNSnJOUSxXSXNOZ0k7TUpyTmhJLDRDQUFrRSxFQUFBLEVJaU96RTtFSjVORztJQUNJO01BRUkseUJUM2FLO01TK2FELHFCVC9hQztNU2liTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBRUkseUJSelpTO0lRNlpMLHFCUjdaSztJUStaVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwsc0NSMWVvQjtJUTRleEIsbUJBQW1CLEVB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QUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVGpZYTtFU2tZYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJUaFpTO0VTb1piLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLd3BCUjtNSmxZUSxXSXVZOEw7TUp0WTlMLDRDQUFrRSxFQUFBLEVJdVl2RTtFSmxZQztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJSOWJLO01RZ2NELHFCUmhjQztNUW9jTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBRUkseUJUbGNTO0lTb2NMLHFCVHBjSztJU3djVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwsc0NSeGVvQjtJUTRleEIsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxzQ1JyZm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZa2tCdEI7RUFoREUsV1BzM0I2QjtFT3IzQjdCLFlQcTNCNkI7RU9wM0I3QixrQkFBa0I7RUFDbEIscUJBQXFCO0VBR3JCLDZCWjV4Qm1CO0VZNnhCbkIsZUFBZTtFQUNmLHlDWjFoQm9CO0VZMGhCcEIsaUNaMWhCb0IsRUFBQTtFWTJoQnBCO0lBQ0UsWVBqZ0JhO0lPa2dCYixpQ1oxbkJtQztJWTJuQm5DLGVQNDJCMEI7SU8zMkIxQixjYjF3QmE7SWEyd0JiLDhCWmhpQmtCO0lZZ2lCbEIsc0JaaGlCa0IsRUFBQTtFWW9pQmhCO0lBQ0ksZUFBZTtJQUNmLGNacHlCTztJWXF5QlAsNEJaeGlCWTtJWXdpQlosb0JaeGlCWSxFQUFBO0VZNGlCaEI7SUFDRSxjYnZ4QlMsRUFBQTtFYTJ4QmY7SUFDRSxtQkFBbUIsRUFBQTtJQUNuQjtNQUNFLGNacHpCVyxFQUFBOztBWXUwQmpCO0VKcmVJLHFDQUFnQztFQXlCNUIsV0k4YzhMO0VKaGNsTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVGpZYTtFU2tZYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJUaFpTO0VTb1piLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLcXFCUjtNSi9ZUSxXSWlaOEw7TUpoWjlMLDRDQUFrRSxFQUFBLEVJaVp2RTtFSjVZQztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJSOWJLO01RZ2NELHFCUmhjQztNUW9jTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBRUkseUJUbGNTO0lTb2NMLHFCVHBjSztJU3djVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwsc0NSeGVvQjtJUTRleEIsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxzQ1JyZm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZc2tCdEI7RUpyZUkscUNBQWdDO0VBeUI1QixZSWlkZ047RUpuY3BOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUallhO0VTa1liLGlCSCtjNEI7RUc5YzVCLHFCQ2pWNEQ7RURrVjVELGdCVHRKZTtFU3VKZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQkhrY3lFO0VHamN6RSxpQkg4YndCO0VHM2J4QixxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3FxQlI7TUovWVEsWUlvWmdOO01KblpoTiw0Q0FBa0UsRUFBQSxFSW9adkU7RUovWUM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCUjliSztNUWdjRCxxQlJoY0M7TVFvY0wscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUmhjeUI7SVFrY3JCLHFCUmxjcUI7SVFzY3pCLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtF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QUlRLHNDUnZmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVltcEJ0QjtFSmxqQkkscUNBQWdDO0VBdUI1QixXSTZoQnlPO0VKOWdCN08sWUhtUHdCO0VHbFB4QixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVGpZYTtFU2tZYixpQkgrYzRCO0VHOWM1QixtQkNqVjREO0VEa1Y1RCxnQlR0SmU7RVN1SmYsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBRVgseUJUOUpnQztFU2lLaEMscUJIa2N5RTtFR2pjekUsaUJIOGJ3QjtFRzNieEIscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtrdkJSO01KNWRRLFdJOGRzUDtNSjdkdFAsNENBQWtFLEVBQUEsRUk4ZHZFO0VKemRDO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlI5Yks7TVFnY0QscUJSaGNDO01Rb2NMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjVGpjUztJU2tjVCx5QlJ4ZFM7SVEwZEwscUJUcGNLO0lTd2NULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxzQ1J4ZW9CO0lRNGV4QixtQkFB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QmdCLEVBQUE7RVlxeEJ0QjtJQW9DTSxxQlpsOEJRO0lZbThCUix5QmQxdUIrRCxFQUFBO0ljcXNCckU7TUF1Q1EsY1pyOEJNLEVBQUE7RVk4NUJkO0lBNENRLHFCWnhqQ3dCO0lZeWpDeEIseUJabGtDUztJWW1rQ1QseUNabjBCYztJWW0wQmQsaUNabjBCYyxFQUFBO0VZcXhCdEI7SUFxRE0scUJaamtDMEI7SVlra0MxQix5Qloza0NXO0lZNGtDWCwwREFBa0Q7WUFBbEQsa0RBQWtELEVBQUE7RUF2RHhEO0lBNERJLGlCUGpiaUIsRUFBQTtFT3FYckI7SUFpRUksWVAzZHdCO0lPNGR4QiwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1oseUJaMWxDYTtJWTJsQ2IsMkJBQTJCO0lBQzNCLHFCYmwyQmlEO0lhbTJCakQsbUJBQW1CO0lBU25CLHFGWnIyQmtCO0lZcTJCbEIsNkVacjJCa0I7SVlxMkJsQixxRVpyMkJrQjtJWXEyQmxCLDhGWnIyQmtCO0lZczJCbEIsVUFBVSxFQUFBO0lBbEZkO01Bb0ZNLDREWnoyQmdCO01ZeTJCaEIsb0RaejJCZ0IsRUFBQTtJWXF4QnRCO01BdUZNLG1CQUFtQixFQUFBO0lBdkZ6QjtNQTBGTSxvQkFBb0IsRUFBQTtFQTFGMUI7SUE4RkksOEJabDNCa0I7SVlrM0JsQixzQlpsM0JrQixFQUFBO0VZb3hCdEI7SUFvR1EsY2JubUNTO0lhb21DVCw4QloxM0JjO0lZMDNCZCxzQloxM0JjLEVBQUE7RVlxeEJ0QjtJQXdHUSx5RFpyM0IwQztZWXEzQjFDLGlEWnIzQjBDO0lZczNCMUMsMkNaOTNCYztJWTgzQmQsbUNaOTNCYztJWTgzQmQsMkJaOTNCYztJWTgzQmQsb0RaOTNCYyxFQUFBO0VZcXhCdEI7SUE4R0ksZUFBZSxFQUFBO0lMdCtCWDtNQy9FSjtRQUNJLGNSbkV5QjtRUW9FekIsOEJSZ0xjO1FRaExkLHNCUmdMYyxFQUFBO01ROUtsQjtRQUNJLFlId09PO1FH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QUNOLE9BQU87TUFDUCxTQUFTO01BQ1QsUUFBUTtNQUNSLFlBQVk7TUFDWiw0QmJwaURXO01hc2lEVCxnQmR2akRhO01jeWpEZixxQ1o3ekNnQjtNWTZ6Q2hCLDZCWjd6Q2dCLEVBQUE7SU8vRmQ7TUttM0JSO1FBNGlCTSx1QkFBK0M7UUFDL0Msa0JBQWtCLEVBQUEsRUF5SHJCO0lBdHFCSDtNQWdqQk0sNkJaeGtEZTtNWXlrRGYscUJiaGpEVztNYWlqRFgsNERadjBDZ0I7TVl1MENoQixvRFp2MENnQixFQUFBO01ZcXhCdEI7UUFvakJRLHFCYm5qRFM7UWFvakRULHFDWjEwQ2M7UVkwMENkLDZCWjEwQ2MsRUFBQTtNWXF4QnRCO1FBd2pCUSxjYnZqRFM7UWF3akRULDhCWjkwQ2M7UVk4MENkLHNCWjkwQ2MsRUFBQTtNWXF4QnRCO1FBNGpCUSxjYjNqRFMsRUFBQTtJYSsvQmpCO01BZ2tCTSwwQ1ozaUQ2QztNWTRpRDdDLG9DYmhrRFcsRUFBQTtNYSsvQmpCO1FBbWtCUSxvQ2Jsa0RTLEVBQUE7SWErL0JqQjtNQXdrQlEsWVBud0NlO01Pb3dDZiw2QmJ4a0RTLEVBQUE7SWErL0JqQjtNQTZrQk0scUJaMytDUTtNWTQrQ1IseUJkbnhDK0QsRUFBQTtNY3FzQnJFO1FBZ2xCUSxxQlo5K0NNLEVBQUE7TVk4NUJkO1FBbWxCUSxjQUFjLEVBQUE7TUFubEJ0QjtRQXVsQlUsWVBqeENPO1FPcXhDUCxjWnovQ0ksRUFBQTtNWTg1QmQ7UUErbEJRLGNaNy9DTSxFQUFBO0lZODVCZDtNQW1tQk0sV0FBVztNQUNYLGlCUHhrQ2E7TU95a0NiLGtCQUFrQjtNQUNsQixlSG5qRDBEO01Hb2pEMUQsZ0JQdmtDNEI7TU93a0M1QixjYnZtRFc7TWF3bURYLDhCWjczQ2dCO01ZNjNDaEIsc0JaNzNDZ0IsRUFBQTtNTy9GZDtRS20zQlI7VUEybUJRLFlBQXFELEVBQUEsRUFFeEQ7SUE3bUJMO01BK21CTSxvQkFBb0I7TUFDcEIsY0FBYztNQUNkLG1CQUFtQixFQUFBO01Bam5CekI7UUFtbkJRLFlQL3lDUztRT2d6Q1QsaUNacitDK0I7UVlzK0MvQixlQUFlO1FBQ2YsY2JybkRTLEVBQUE7TWErL0JqQjtRQXluQlEsaUJBQWlCLEVBQUE7SUF6bkJ6QjtNQTZuQk0sa0JQam1DUTtNT2ttQ1IsVUFBVSxFQUFBO01Mai9DUjtRS20zQlI7VUFnb0JRLG1CUG5tQ08sRUFBQSxFT3FtQ1Y7SUFsb0JMO01Bb29CTSxpQkFBaUI7TUFDakIsb0JIbGxEMEQ7TUdtbEQxRCxnQkFBZ0IsRUFBQTtJQXRvQnRCO01BeW9CTSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFlBQVk7TUFDWixhQUFhO01BQ2IsZUFBZTtNQUNmLFVBQVUsRUFBQTtNQS9vQmhCO1FBaXBCUSwwQkFBMEIsRUFBQTtNQWpwQmxDO1FBb3BCUSxZUDkwQ1M7UU8rMENULGlCQUFpQjtRQUNqQixpQ1p2Z0QrQjtRWXdnRC9CLGVBQWU7UUFDZixjWnJwRHlCLEVBQUE7SVk2L0JqQztNQTRwQk0sV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLE9BQU87TUFDUCxVQUFVO01BQ1YsVUFBVTtNQUNWLGVBQWU7TUFDZixVQUFVLEVBQUE7RUFwcUJoQjtJQXlxQk0sWVBua0NzQixFQUFBO0lPMFo1QjtNQTJxQlEsWVBya0NvQjtNT3NrQ3BCLGNBQWMsRUFBQTtFQTVxQnRCO0lBb3JCSSxpQkFBaUIsRUFBQTtFQXByQnJCO0lBeXJCUSx3Q0FBZ0M7WUFBaEMsZ0NBQWdDLEVBQUE7O0FBTXhDO0VBR00sV1BrRndCLEVBQUE7O0FPckY5QjtFQU9JLGtCUCtFaUMsRUFBQTs7QU8zRXJDO0VBQ0U7SUFDRSx1Q1p6c0Q2QjtJWTBzRDdCLGNabHVEYSxFQUFBO0VZb3VEZjtJQUNFLHlCWnRxRGE7SVl1cURiLGNadHVEYSxFQUFBLEVBQUE7O0FZK3REakI7RUFDRTtJQUNFLHVDWnpzRDZCO0lZMHNEN0IsY1psdURhLEVBQUE7RVlvdURmO0lBQ0UseUJadHFEYTtJWXVxRGIsY1p0dURhLEVBQUEsRUFBQTs7QU82SlQ7RUs2a0RSO0lBSU0sMEJBQWtDLEVBQUEsRUFvQnZDOztBQXhCRDtFQVNJLGNaM3RENkI7RVk0dEQ3QixtQkg1cUQ0RDtFRzZxRDVELGdCYnpnRCtCLEVBQUE7O0FhOC9DbkM7RUFTSSxjWjN0RDZCO0VZNHREN0IsbUJINXFENEQ7RUc2cUQ1RCxnQmJ6Z0QrQixFQUFBOztBYTgvQ25DO0VBU0ksY1ozdEQ2QjtFWTR0RDdCLG1CSDVxRDREO0VHNnFENUQsZ0JiemdEK0IsRUFBQTs7QWE4L0NuQztFQVNJLGNaM3RENkI7RVk0dEQ3QixtQkg1cUQ0RDtFRzZxRDVELGdCYnpnRCtCLEVBQUE7O0FhOC9DbkM7RUFTSSxjWjN0RDZCO0VZNHREN0IsbUJINXFENEQ7RUc2cUQ1RCxnQmJ6Z0QrQixFQUFBOztBYXdoRG5DO0VBRUUsWVAzb0MwQjtFTzRvQzFCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1osV0FBVztFQUNYLG1CQUFtQjtFQUVuQixpQkFBaUI7RUFNYixzQmQ1d0RlO0VjK3dEbkIsU0FBUztFQUNULHFDWnBoRG9CO0VZb2hEcEIsNkJacGhEb0IsRUFBQTtFT3BHZDtJS3VtRFI7TUF1QkksV0FBVztNQUNYLDJCUGhFcUMsRUFBQSxFT3VKeEM7RUEvR0Q7SUEyQkkscUJaeHFEVTtJWXlxRFYseUJkaDlDaUU7SWNpOUNqRSxVQUFVLEVBQUE7SUE3QmQ7TUErQlEsY1o1cURNLEVBQUE7SVk2b0RkO01Ba0NRLGNadHlEUztNWXV5RFQsOEJadmlEYztNWXVpRGQsc0JadmlEYyxFQUFBO0VZb2dEdEI7SUF1Q0ksV0FBVztJQUVYLFlQbHJDd0I7SU9vckN0QixlUGpIWTtJT21IZCxjUGhIMEI7SU9pSDFCLHlCWmx6RGE7SVltekRiLG1CQUFtQjtJQUNuQixxQmIxakRpRDtJYTRqRGpELGlCQUFpQjtJQUNqQiw2QmJqeURhO0lha3lEYixlQUFlO0lBV1gsc0JBQTBHO0lBRzlHLHlDWnJrRGtCO0lZcWtEbEIsaUNacmtEa0IsRUFBQTtJT3BHZDtNS3VtRFI7UUFvRU0sMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsU1AxSU87UU8ySVAsMkJQNUgrQixFQUFBLEVPb0tsQztJQTlHSDtNQTBFUSxZUDNnREU7TU80Z0RGLFdQbkowQjtNT29KMUIsY0FBYztNQUNkLFlBQVk7TUFDWixpQ1o5cUQrQjtNWStxRC9CLGVBQWU7TUFDZiw2QmI5ekRTO01hK3pEVCw4QlpwbERjO01Zb2xEZCxzQlpwbERjLEVBQUE7SVltZ0R0QjtNQXNGUSxjWjExRFM7TVkyMURULHFCYmptRDZDO01ha21EN0Msd0NidDBEUztNYXUwRFQseUNaN2xEYztNWTZsRGQsaUNaN2xEYyxFQUFBO01Zb2dEdEI7UUE0RlksY1poMkRLLEVBQUE7SVlvd0RqQjtNQW1HTSxjWnYyRFc7TVl3MkRYLHFCWi8xRDBCO01ZZzJEMUIseUJaMXlEVztNWTJ5RFgseUNaMW1EZ0I7TVkwbURoQixpQ1oxbURnQixFQUFBO01Zb2dEdEI7UUF5R1UsY1o3MkRPLEVBQUE7O0FZczNEakI7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQ1p6bkRvQjtFWXluRHBCLDJCWnpuRG9CLEVBQUE7RVlxbkR0QjtJQU1JLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIseUJaOTNEYTtJWSszRGIsbUNaL25Ea0I7SVkrbkRsQiwyQlovbkRrQixFQUFBOztBWXFvRHRCO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTtFQURmO0lBS0ksNkJaNzREaUIsRUFBQTtJWXc0RHJCO01BT00sY2J0M0RXLEVBQUE7SWF3M0RiO01BVEo7UUFXUSx5QlpoNURTLEVBQUE7UVlxNERqQjtVQWFVLGNabjFETyxFQUFBLEVZbzFEUjtJQWRUO01Ba0JNLHlCWmo1RFcsRUFBQTtNWSszRGpCO1FBb0JRLGNadDVEUyxFQUFBO0VZazREakI7SUE0Qk0sNkJacDZEZSxFQUFBO0lZdzREckI7TUE4QlEsY1puNkRTLEVBQUE7SVlxNkRY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SmdDO0VTaUtoQyxxQlQ1SjJCO0VTNkozQixpQkg4YndCO0VHM2J4QixxQlJ2WnlCO0VRMlo3QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFT3BHZDtJS2l3RVI7TUoxK0RZLHNEQUFvRSxFQUFBLEVJNitEL0U7RUwvdkVPO0lLNHZFUjtNSnQrRFEsV0l3K0RnUDtNSnYrRGhQLHFEQUFrRSxFQUFBLEVJdytEekU7RUpuK0RHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlJsWUs7TVFvWUQscUJScFlDO01Rd1lMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlI5YTJDO0lRa2J2QyxxQlJsYnVDO0lRb2IzQyw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwsc0NSMWVvQjtJUTRleEIsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxzQ1J2Zm9CLEVBQUE7RVEyZjVCO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZa3FFdEI7RUFDRSxXQUFXLEVBQUE7RUFEYjtJQUdJLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixnQkFBZ0IsRUFBQTtJQVBwQjtNQVNNLGNidDVFVztNYXU1RVgsZ0JBQWdCLEVBQUE7SUFWdEI7TUFjUSxtQkFBbUIsRUFBQTtFQWQzQjtJQW1CSSxtQkg5MkU0RDtJRysyRTVELGVBQWU7SUFDZiw4Qlp2ckVrQjtJWXVyRWxCLHNCWnZyRWtCLEVBQUE7SVlrcUV0QjtNQXlCUSxjYnQ2RVM7TWF1NkVULGdCQUFnQjtNQUNoQiw4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cUJSNWRLO1VROGRULDRCUjlOYztVUThOZCxvQlI5TmMsRUFBQTtRUXFPbEI7VUFJUSxjVnpKeUQ7VVU4SnpELHlCUjllSztVUW1mTCxzQ1IxZW9CO1VRNGV4QixtQkFBbUIsRUFBQTtRQU92QjtVQUlRLHNDUnZmb0IsRUFBQTtRUTJmNUI7VUFDSSxhQUFhO1VBQ2IsNERSNVA2QztrQlE0UDdDLG9EUjVQNkMsRUFBQTtRUThSakQ7VUFDSSx5Q1J4U2M7VVF3U2QsaUNSeFNjLEVBQUE7TWU4Q3RCO1FQbURJLHFDQUFnQztRQXlCNUIsWU8xQm9MO1FQd0N4TCxvQkExQ2dZO1FBMENoWSxvQkExQ2dZO1FBMENoWSxhQTFDZ1k7UUE0QzVYLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFNM0Isa0JBQWtCO1FBQ2xCLGlEQUFrRTtRQUVsRSxnREFBK0M7UUFDL0MsY1Z0RWlFO1FVdUVqRSx5QlZ2RWlFO1FVd0VqRSxpQkgrYzRCO1FHOWM1QixvQkNqVjREO1FEa1Y1RCxnQk96RHlLO1FQMER6SyxrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGVBQWU7UUFFWCx5QlQ5SmdDO1FTaUtoQyxxQkhrY3lFO1FHamN6RSxpQkg4YndCO1FHM2J4QixxQlI3WndCO1FRaWE1QixxQkFBcUI7UUFDckIsY0gwYnlCO1FHdmJyQiwyQkFBb0U7UUFFeEUsZ0JBQWdCO1FBQ2hCLDRCUmhMa0I7UVFnTGxCLG9CUmhMa0IsRUFBQTtRT3BHZDtVUWtKUjtZUHFJWSxrREFBb0UsRUFBQSxFT2xGL0Q7UVJoTVQ7VVE2SVI7WVB5SVEsWU92Rm9MO1lQd0ZwTCxtREFBa0UsRUFBQSxFT3ZGekQ7UVA0RmI7VUFDSTtZQUNJLGNSaGNLO1lRaWNMLHlCUjFVRTtZUTRVRSxxQlI1VUY7WVFnVkYscUJBQXFCO1lBQ3JCLDRCUnhNVTtZUXdNVixvQlJ4TVUsRUFBQTtZUWdOVjtjQUNJLHlCUmpkQztjUWtkRCx5Q1JsTk07Y1FrTk4saUNSbE5NLEVBQUEsRVFtTlQ7UUFHVDtVQUNJLGNUamNTO1VTa2NULHlCUnhkUztVUTRkTCxxQlI1ZEs7VVE4ZFQsNEJSOU5jO1VROE5kLG9CUjlOYyxFQUFBO1FRcU9sQjtVQUlRLGNWekp5RDtVVThKekQseUJSOWVLO1VRbWZMLHNDUjFlb0I7VVE0ZXhCLG1CQUFtQixFQUFBO1FBT3ZCO1VBSVEsc0NSdmZvQixFQUFBO1FRMmY1QjtVQUNJLGFBQWE7VUFDYiw0RFI1UDZDO2tCUTRQN0Msb0RSNVA2QyxFQUFBO1FROFJqRDtVQUNJLHlDUnhTYztVUXdTZCxpQ1J4U2MsRUFBQTtJZThDdEI7TVBtREkscUNBQWdDO01BeUI1QixZT3JCeUo7TVBtQzdKLG9CQTFDZ1k7TUEwQ2hZLG9CQTFDZ1k7TUEwQ2hZLGFBMUNnWTtNQTRDNVgseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFNM0Isa0JBQWtCO01BQ2xCLHdEQUFrRTtNQUVsRSxnREFBK0M7TUFDL0MsY1RoWWE7TVNpWWIseUJSdlphO01Rd1piLGlCSCtjNEI7TUc5YzVCLG9CQ2pWNEQ7TURrVjVELGdCT3BEOEk7TVBxRDlJLGtCQUFrQjtNQUNsQixtQkFBbUI7TUFDbkIsZUFBZTtNQUVYLHlCVDlKZ0M7TVNpS2hDLHFCSGtjeUU7TUdqY3pFLGlCSDhid0I7TUczYnhCLHFCUjdad0I7TVFpYTVCLHFCQUFxQjtNQUNyQixjSDBieUI7TUd2YnJCLDJCQUFvRTtNQUV4RSxnQkFBZ0I7TUFDaEIsNEJSaExrQjtNUWdMbEIsb0JSaExrQixFQUFBO01PL0ZkO1FRNklSO1VQeUlRLFlPbEZ5SjtVUG1Gekosc0RBQWtFLEVBQUEsRU9sRjdEO01QdUZUO1FBQ0k7VUFDSSxjUmhjSztVUWljTCx5QlJ4Ym9CO1VRMGJoQixxQlJoY0M7VVFvY0wscUJBQXFCO1VBQ3JCLDRCUnhNVTtVUXdNVixvQlJ4TVUsRUFBQTtVUWdOVjtZQUNJLHlCUmpkQztZUWtkRCx5Q1JsTk07WVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7TUFHVDtRQUNJLGNSdmRTO1FRd2RULHlCVGxjUztRU3NjTCxxQlR0Y0s7UVN3Y1QsNEJSOU5jO1FROE5kLG9CUjlOYyxFQUFBO01RcU9sQjtRQUlRLGNWekp5RDtRVThKekQseUJSOWVLO1FRbWZMLHNDUjFlb0I7UVE0ZXhCLG1CQUFtQixFQUFBO01BT3ZCO1FBSVEsc0NSdmZvQixFQUFBO01RMmY1QjtRQUNJLGFBQWE7UUFDYiw0RFI1UDZDO2dCUTRQN0Msb0RSNVA2QyxFQUFBO01ROFJqRDtRQUNJLHlDUnhTYztRUXdTZCxpQ1J4U2MsRUFBQTs7QWU4Q3RCO0VQeVNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUNuQjtJQUNJLFlIOVJVO0lHK1JWLGlDUnpiK0I7SVEwYi9CLGVINE5RO0lHMU5KLGNUMWtCSztJUzhrQlQsc0RSbldjO0lRbVdkLDhDUm5XYztJUW1XZCxzQ1JuV2M7SVFtV2QsOERSbldjLEVBQUE7RVFzV2Q7SUFHUSxjUnZtQkM7SVEybUJMLGdDQUF3QjtZQUF4Qix3QkFBd0I7SUFDeEIsc0RSL1dVO0lRK1dWLDhDUi9XVTtJUStXVixzQ1IvV1U7SVErV1YsOERSL1dVLEVBQUE7RVFtWGQ7SUFDSSxjUjVsQnFCO0lRNmxCckIsOENSclhVO0lRcVhWLHNDUnJYVSxFQUFBOztBZWdIdEI7RUFDSSxXQUFXO0VBQ1gsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLG1CTjlTNEQ7RU0rUzVELGdCQUFnQixFQUFBO0VSMU5aO0lRbU5SO01BU1Esa0JBQWtCLEVBQUEsRUFpQnpCO0VBMUJEO0lBWVEsbUJBQW1CLEVBQUE7RUFaM0I7SUFlUSx5QmpCL0M2RDtJaUJnRDdELGNmclJNLEVBQUE7RWVxUWQ7SUFtQlEseUJqQm5ENkQ7SWlCb0Q3RCxjZm5STSxFQUFBO0VlK1BkO0lBdUJRLHlC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WUFBbkIsbUJBQW1CO0lBQ25CLGdCWHlrRVU7SVd4a0VWLGVBQWUsRUFBQTtJVDdIZjtNU3VGUjtRQXdDWSxlWHVrRU0sRUFBQSxFVzFqRWI7SUFyREw7TUEyQ1ksY2pCelFLO01pQjBRTCw4QmhCL0JVO01nQitCVixzQmhCL0JVLEVBQUE7SWdCYnRCO01BK0NZLHFCQUFxQixFQUFBO01BL0NqQztRQWlEZ0IsY2hCdE9DO1FnQnVPRCw4QmhCdENNO1FnQnNDTixzQmhCdENNLEVBQUE7RWdCWnRCO0lBd0RZLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CUHJPb0QsRUFBQTtJTzRLaEU7TUFrRVksWVhSRztNV1NILGlDaEJuSjJCO01nQm9KM0IsZVgraUVHO01XOWlFSCxpQ0FBaUQ7Y0FBakQseUJBQWlEO01BQ2pELGlCQUFpQixFQUFBO01UeEpyQjtRU2tGUjtVQXdFZ0IsZVg0aUVELEVBQUEsRVcxaUVOO0VBMUVUO0lBaUZZLFlYeEJEO0lXeUJDLGlDaEJsSzJCO0lnQm1LM0IsZVhnaUVHLEVBQUE7SUVyc0VQO01Ta0ZSO1FBcUZnQixlWCtoRUQsRUFBQSxFVzdoRU47RUF2RlQ7SUE4RlksWVh0Q0E7SVd1Q0EsaUNoQi9LMkI7SWdCZ0wzQixlWG1oRUcsRUFBQTtJRXJzRVA7TVNrRlI7UUFrR2dCLGVYa2hFRCxFQUFBLEVXaGhFTjtFQXBHVDtJQTRHWSxZWHBFSztJV3FFTCxpQ2hCN0wyQjtJZ0I4TDNCLGVYcWdFRyxFQUFBO0lFcnNFUDtNU2tGUjtRQWdIZ0IsZVhvZ0VELEVBQUEsRVdsZ0VOO0VBbEhUO0lBcUhnQixZWDVFSTtJVzZFSix1QmhCeEprQixFQUFBO0VnQmtDbEM7SUEySGdCLFlYakZFO0lXa0ZGLHVCaEI5SmtCLEVBQUE7RWdCa0NsQztJQW9JWSxZWHRERztJV3VESCxpQ2hCck4yQjtJZ0JzTjNCLGVYcS9ERyxFQUFBO0lFN3NFUDtNU2tGUjtRQXlJZ0IsZVhtL0RELEVBQUEsRVdqL0ROO0VBM0lUO0lBOElRLGtCQUFrQixFQUFBO0lBOUkxQjtNQWdKWSxZ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Q1YsZ0VoQmh2Q1UsRUFBQTtJZ0JrK0J0QjtNQTJQb0IsV0FBVztNQUNYLGNoQjk5Q0g7TWdCbytDTyx5QmxCLzlDSDtNa0JnK0NHLDRCbEJoK0NIO01rQmsrQ0QsNEJoQnZ1Q0U7TWdCdXVDRixvQmhCdnVDRTtNZ0J3dUNGLFVBQVUsRUFBQTtJQXRROUI7TUFnUmdCLGNoQmwvQ0M7TWdCbS9DRCxnQlhnK0NGLEVBQUE7RVdqdkRkO0lBeVJnQixjaEI1N0NDLEVBQUE7RWdCbXFDakI7SUE0UmdCLGNoQjkvQ0MsRUFBQTtFZ0JrdUNqQjtJQWdTWSxZWHR1Q0s7SVd1dUNMLFdYazlDcUI7SVc1OENqQixZWDY4Q2lCO0lXMzhDckIsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1Isb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixxQlg2OUNrQztRVzc5Q2xDLGtCWDY5Q2tDO1lXNzlDbEMseUJYNjlDa0M7SVc1OUNsQyx5Qlg2OUM0QjtRVzc5QzVCLHNCWDY5QzRCO1lXNzlDNUIsbUJYNjlDNEI7SVc1OUM1QixpQlh1OENTO0lXdDhDVCxpQ2hCOTJDMkI7SWdCKzJDM0IsZVhrL0N3QjtJV2ovQ3hCLGNoQnBoREs7SWdCc2hERCxlWHc5Q29CO0lXdjlDcEIsbUJBQW1CO0lBQ25CLHFCaEJ4aERDO0lnQjZoREQseUJoQm4vQ21DO0lnQjAvQy9CLDBCbEIvaERDO0lrQmdpREQsNkJsQmhpREM7SWtCb2lEVCw0QmhCeHlDVTtJZ0J3eUNWLG9CaEJ4eUNVLEVBQUE7O0FnQmkrQnRCO0VBNFVRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZTtFQUNmLHdCWCsrRXVDO01XLytFdkMscUJYKytFdUM7VVcvK0V2Qyx1QlgrK0V1QztFVzcrRW5DLFNYOCtFcUI7RVd6K0V6QixXQUFXLEVBQUE7RVR0NUNYO0lTZ2tDUjtNQXdWWSxZQUFZLEVBQUEsRUFlbkI7RUF2V0w7SUEyVlksV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixXQUFXO0lBQ1gsU0FBUztJQUNULFlBQVk7SUFDWixjQUFjO0lBQ2QseUJoQnRrREs7SWdCdWtETCwrQmhCdDBDVTtJZ0JzMENWLHVCaEJ0MENVLEVBQUE7O0FnQmkrQnRCO0VBeVdRLGNoQnhrRFM7RWdCeWtEVCxnQlhzNENRLEVBQUE7RVdodkRoQjtJQTZXZ0IsaUJBQWlCLEVBQUE7RUE3V2pDO0lBaVhZLGlCQUFpQixFQUFBOztBQWpYN0I7RUF1WGdCLHNCbEJwbERLLEVBQUE7RVM2SmI7SVNna0NSO01BMFhZLGFBQWEsRUFBQSxFQTRDcEI7RUF0YUw7SUE2WFksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFqWS9CO01BbVlnQixZWHowQ0M7TVcwMENELGlDaEJsOEN1QjtNZ0JtOEN2QixlQUFlO01BQ2YsY0FBYztNQUNkLGNqQm5sREMsRUFBQTtFaUI0c0NqQjtJQTJZWSxtQkFBbUI7SUFDbkIsbUJQdGlEb0Q7SU91aURwRCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGNqQjNsREssRUFBQTtFaUI0c0NqQjtJQWtaWSxtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLG9CUDlpRG9EO0lPK2lEcEQsa0JBQWtCLEVBQUE7SUFyWjlCO01BdVpnQixpQkFBaUI7TUFDakIsY2pCcG1EQztNaUJxbURELGdCQUFnQixFQUFBO0VBelpoQztJQTZaWSxTQUFTLEVBQUE7RUE3WnJCO0lBZ2FZLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isa0JQNWpEb0Q7SU82akRwRCxnQkFBZ0I7SUFDaEIsa0JBQWtCLEVBQUE7O0FBSzlCO0VBSW9CLFdBQVc7RUFDWCxXQUFXO0VBRVgsK0JoQmw1Q0U7RWdCazVDRix1QmhCbDVDRSxFQUFBOztBZ0IyNEN0QjtFQVVvQixjaEJycERIO0VnQnNwREcsZ0JYNnpDTixFQUFBOztBV3gwQ2Q7RUFpQlEsNEJoQjM1Q2M7RWdCMjVDZCxvQmhCMzVDYyxFQUFBOztBZ0IwNEN0QjtFQXFCUSxpQkFBaUIsRUFBQTs7QUFLekI7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixxQkFBeUI7TUFBekIsa0JBQXlCO1VBQXpCLHlCQUF5QjtFQUN6QixzQkFBcUI7TUFBckIsbUJBQXFCO1VBQXJCLHFCQUFxQixFQUFBO0VUdmdEakI7SVNtZ0RSO01BT1EsbUJBQVk7VUFBWixvQkFBWTtjQUFaLFlBQVk7TUFDWixpQkFBaUIsRUFBQSxFQStNeEI7RUF2TkQ7SUFZWSx5QmxCajJDeUQsRUFBQTtJa0JxMUNyRTtNQWNnQixZWHQ1Q0k7TVd1NUNKLHVCaEJsK0NrQjtNZ0JtK0NsQix5QmhCdG5EQyxFQUFBO0VnQnNtRGpCO0lBcUJnQixZWDc1Q0k7SVc4NUNKLHVCaEJ6K0NrQjtJZ0IwK0NsQixjaEIza0RGLEVBQUE7RWdCb2pEZDtJQTJCWSx5QmxCaDNDeUQ7SWtCaTNDekQsY2hCbG9ESztJZ0Jtb0RMLHlCaEJub0RLLEVBQUE7RWdCc21EakI7SUFnQ1kscUJoQnRvREssRUFBQTtJUWl3RmI7TUFTQSxXQUFXO01BQ1AsUUFBUTtNQUNSLFNBQVM7TUFDVCxrQkFBa0I7TUFFZCxNQUFNO01BQ04sU0FBUztNQVliLGlCQUFjO01BQ2QsbUJBQW1CO01BQ25CLHlCUmgyRmE7TVFrMkZULDRCUmh5Rks7TVFpeUZMLGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7SUEvQjFIO01BTUEsV0FBVztNQUNQLFFBQVE7TUFDUixTQUFTO01BQ1Qsa0JBQWtCO01BRWQsTUFBTTtNQUNOLFNBQVM7TUFZYixpQkFBYztNQUNkLG1CQUFtQjtNQUNuQix5QlJoMkZhO01RazJGVCw0QlYvZ0Z5RDtNVWdoRnpELGFBQWE7TUFDYixnQkFBa0M7TUFDbEMsaUJBQWtILEVBQUE7SVE3ckM5SDtNQW1DZ0IseUJsQngzQ3FELEVBQUE7TWtCcTFDckU7UUFxQ29CLFlYbjZDUDtRV282Q08sY2hCNW9ESCxFQUFBO0lnQnNtRGpCO01BMENnQixjaEJocERDLEVBQUE7RWdCc21EakI7SUE4Q1ksY2hCcHBESyxFQUFBO0VnQnNtRGpCO0lBbURZLHlCbEJ4NEN5RCxFQUFBO0lrQnExQ3JFO01BcURnQixZWDU3Q0U7TVc2N0NGLHVCaEJ6Z0RrQjtNZ0IwZ0RsQix5QmhCcm1ERixFQUFBO0VnQjhpRGQ7SUE2RGdCLFlYcDhDRTtJV3E4Q0YsdUJoQmpoRGtCO0lnQmtoRGxCLGNoQjdtREYsRUFBQTtFZ0I4aURkO0lBbUVZLHlCbEJ4NUN5RDtJa0J5NUN6RCxjaEJsbkRFO0lnQm1uREYseUJoQm5uREUsRUFBQTtFZ0I4aURkO0lBd0VZLHFCaEJ0bkRFLEVBQUE7SVF5c0ZWO01BU0EsV0FBVztNQUNQLFFBQVE7TUFDUixTQUFTO01BQ1Qsa0JBQWtCO01BRWQsTUFBTTtNQUNOLFNBQVM7TUFZYixpQkFBYztNQUNkLG1CQUFtQjtNQUNuQix5QlJoMkZhO01RazJGVCw0QlJ4dUZFO01ReXVGRixhQUFhO01BQ2IsZ0JBQWtDO01BQ2xDLGlCQUFrSCxFQUFBO0lBL0IxSDtNQU1BLFdBQVc7TUFDUCxRQUFRO01BQ1IsU0FBUztNQUNULGtCQUFrQjtNQUVkLE1BQU07TUFDTixTQUFTO01BWWIsaUJBQWM7TUFDZCxtQkFBbUI7TUFDbkIseUJSaDJGYTtNUWsyRlQsNEJWL2dGeUQ7TVVnaEZ6RCxhQUFhO01BQ2IsZ0JBQWtDO01BQ2xDLGlCQUFrSCxFQUFBO0lRN3JDOUg7TUEyRWdCLHlCbEJoNkNxRCxFQUFBO01rQnExQ3JFO1FBNkVvQixZWDE4Q1Q7UVcyOENTLGNoQjVuRE4sRUFBQTtJZ0I4aURkO01Ba0ZnQixjaEJob0RGLEVBQUE7RWdCOGlEZDtJQXNGWSxjaEJwb0RFLEVBQUE7RU9zQ047SVN3Z0RSO01BMkZZLGFBQWEsRUFBQSxFQUVwQjtFQTdGTDtJQStGUSxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGtCUDlyRHdEO0lPK3JEeEQsZ0JBQWdCLEVBQUE7RVQxbURoQjtJU3dnRFI7TUFzR1ksY0FBYztNQUNkLGlCQUFpQjtNQUNqQixXQUFXO01BQ1gsZUFBZTtNQUNmLE1BQU07TUFDTixPQUFPLEVBQUE7TUEzR25CO1FBOEdnQixpQkFBaUI7UUFDakIsdUJBQXVCO1FSeTlDL0Isb0JIM2ZnQztRRzZmcEMsNERScitGaUQ7Z0JRcStGakQsb0RScitGaUQ7UVEwK0ZqRCw0QlQ5dEdhO1FTK3RHYix1QkFBbUQ7UUFDbkQsbUJBQW1CO1FRaCtDUCxnQ2hCdGhETTtRZ0JzaEROLHdCaEJ0aERNO1FnQnVoRE4sVUFBVTtRQUNWLGFBQWEsRUFBQSxFQUNoQjtFVHZuREw7SVNtZ0RSO01BeUhnQixpQkFBaUI7TUFDakIsdUJBQXVCO01BQ3ZCLHlEaEJ4aERrQztjZ0J3aERsQyxpRGhCeGhEa0M7TVFxK0YxQyxvQkgzZmdDO01HNmZwQyw0RFJyK0ZpRDtjUXErRmpELG9EUnIrRmlEO01RMCtGakQsNEJUOXRHYTtNUyt0R2IsdUJBQW1EO01BQ25ELG1CQUFtQjtNUXA5Q1AsZ0NoQmxpRE07TWdCa2lETix3QmhCbGlETTtNZ0JtaUROLFVBQVU7TUFDVixhQUFhLEVBQUEsRUFDaEI7RUFoSWI7SUFvSVEsYUFBYSxFQUFBO0lBcElyQjtNQXNJWSxnQkFBZ0I7TUFDaEIsb0JBQW9CO01BQ3BCLGNoQjF5REs7TWdCMnlETCxnQkFBZ0I7TUFDaEIsb0JQdnVEb0Q7TU93dURwRCxrQkFBa0IsRUFBQTtFQTNJOUI7SUFnSlksYUFBYSxFQUFBO0VUbnBEakI7SVNtZ0RSO01Bc0pZLFlBQVk7TUFDWixZWDI4QmU7TVcxOEJmLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sUUFBUTtNQUNSLFNBQVM7TUFDVCxZQUFZLEVBQUE7TUE1SnhCO1FBZ0tnQixnQlhrOEJXLEVBQUEsRVdqOEJkO0VBaktiO0lBcUtRLGFBQWEsRUFBQTtJVHhxRGI7TVNtZ0RSO1FBdUtZLFlBQVk7UUFDWixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLFVBQWtDO1FBQ2xDLFFBQVE7UUFDUixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLG1DaEJsbERVO1FnQmtsRFYsMkJoQmxsRFUsRUFBQSxFZ0IwbERqQjtJQXRMTDtNQWtMWSxpQkFBaUI7TUFDakIsWUFBWTtNQUNaLG1DaEJ6bERVO01nQnlsRFYsMkJoQnpsRFUsRUFBQTtFZ0JxNkN0QjtJQXdMUSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQix5QmhCaDJEUztJZ0JpMkRULGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJqQjcwRFMsRUFBQTtJaUIrb0RqQjtNQWlNWSxrQkFBa0IsRUFBQTtNQWpNOUI7UUFtTWdCLFlYbGtESDtRV21rREcsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsaUNoQnhzRHVCO1FnQnlzRHZCLGtCQUFrQjtRQUNsQixjakJ4MURDLEVBQUE7SWlCK29EakI7TUE2TVksU0FBUztNQUNULFVBQVU7TUFDVixrQkFBa0I7TUFDbEIseUJBQXlCO01BQ3pCLG9CUDl5RG9EO01PK3lEcEQsZ0JBQWdCO01BQ2hCLGNqQmwyREssRUFBQTs7QWlCNDJEakI7RUFDSSxhQUFhO0VBQ2IsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVEsRUFBQTtFVGx1REo7SVNndURSO01BSVEsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYixxQlh1N0JXO1VXdjdCWCxrQlh1N0JXO2NXdjdCWCx5Qlh1N0JXO01XdDdCWCx5Qlh5N0JnQztVV3o3QmhDLHNCWHk3QmdDO2NXejdCaEMsbUJYeTdCZ0M7TVd4N0JoQyw2QlhtM0JvQjtVV24zQnBCLGdCWG0zQm9CLEVBQUEsRVc5MEIzQjtFQTVDRDtJQWtCUSxTQUFTO0lBQ1QsaUJYazdCOEIsRUFBQTtJV3I4QnRDO01BcUJZLFNBQVM7TUFDVCxVQUFVO01BQ1YsZVBqMURvRDtNT2sxRHBELGdCWDI2QnlCO01XMTZCekIsa0JYMjZCMkI7TVcxNkIzQixxRWpCaDZEOEQ7TWlCaTZEOUQsY2hCNzVESyxFQUFBO0VnQms0RGpCO0lBa0NRLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHNCQUFxQjtRQUFyQixtQkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLHFCQUF5QjtRQUF6QixrQkFBeUI7WUFBekIseUJBQXlCO0lBQ3pCLG1CQUFZO1FBQVosb0JBQVk7WUFBWixZQUFZO0lBQ1osNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtFQXZDaEI7SUEwQ1Esc0JBQXFCO1FBQXJCLG1CQUFxQjtZQUFyQixxQkFBcUIsRUFBQTs7QUFNN0I7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix5QmhCcjdEYSxFQUFBO0VPa0tUO0lTZ3hEUjtNQU1RLGdCQUFnQjtNQUVoQixVQUFVO01BSU4seUJqQng2REs7TWlCODZETCxnQkFBZ0I7TUFPcEIsbUJBQW1CO01BQ25CLGlCQUFpQixFQUFBLEVBb0N4QjtFVDkwRE87SVNneERSO01BOEJZLGtCQUFrQjtNQUNsQixVQUFVLEVBQUEsRUFFakI7RUFqQ0w7SUF1Q2dCLGtCUGo1RGdEO0lPazVEaEQsZ0JqQjMzREYsRUFBQTtFaUJtMURkO0lBOEN3QixvQlB4NUR3QztJT3k1RHhDLGdCWHV0QlYsRUFBQTtFV3R3QmQ7SUFxRGdDLG9CUC81RGdDO0lPZzZEaEMsZ0JYc3VCbEIsRUFBQTs7QVdqdEJkO0VBMEJJLFdYc2lCVztFV3JpQlgsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsdUJBQTJCO01BQTNCLG9CQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTtFVHgzRHZCO0lTMjFEUjtNQStCUSxpQlh6aEVhO01XMGhFYiw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsbUJBQWU7VUFBZixlQUFlO01BQ2YsWUFBWSxFQUFBLEVBdUpuQjtFQXpMRDtJQTBDZ0IseUJqQmpoRUMsRUFBQTtJaUJ1K0RqQjtNQTRDb0IsY2hCemlFSCxFQUFBO0VnQjYvRGpCO0lBZ0RnQixjakJ2aEVDO0lpQndoRUQsZ0JqQi84REY7SWlCZzlERSxrQlB2K0RnRDtJT3crRGhELGdCWDJoQmM7SVcxaEJkLHlCakIvOERpQyxFQUFBO0VpQjI1RGpEO0lBd0RnQixtQlh5aUJLLEVBQUE7SUVqOEViO01TZzJEUjtRQThEZ0Msa0JBQWMsRUFBQSxFQUNqQjtJQS9EN0I7TUFzRTRCLFdBQVcsRUFBQTtJQXRFdkM7TUE2RWdDLGNoQnZrRWY7TWdCd2tFZSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCWDd6QmU7TVc4ekJmLG9CUHJnRWdDO01Pc2dFaEMsZ0JYZ29CbEIsRUFBQTtNV2p0QmQ7UUFtRm9DLGNoQmpoRW5CLEVBQUE7TWdCODdEakI7UUFzRm9DLGNqQjdqRW5CLEVBQUE7RWlCdStEakI7SUFxR1ksVVh2MEJBLEVBQUE7SUV6bkNKO01TMjFEUjtRQTJHZ0IsVVg1MEJKLEVBQUEsRVdrNUJIO0lUNWdFRDtNUzIxRFI7UUF5SXdCLGtCWHdmSixFQUFBLEVXdGZIO0lUdCtEVDtNUzIxRFI7UUFYSSxXQUFXO1FBQ1gsVVhrbEJVO1FXamxCVixZWGtsQlk7UVdqbEJaLGtCQUFrQjtRQUNsQixNQUFNO1FBQ04sU0FBUztRQUNULGNBQWM7UUFDZCxjQUFjO1FBQ2QseUJoQjEvRGE7UWdCK29FVyxXQUFXO1FBRVgsT0FBMEYsRUFBQSxFQUVqRztJVGovRGI7TVMyMURSO1FBWEksV0FBVztRQUNYLFVYa2xCVTtRV2psQlYsWVhrbEJZO1FXamxCWixrQkFBa0I7UUFDbEIsTUFBTTtRQUNOLFNBQVM7UUFDVCxjQUFjO1FBQ2QsY0FBYztRQUNkLHlCaEIxL0RhO1FnQjZwRWUsUUFBMEY7UUFDMUYsVUFBVSxFQUFBLEVBRWpCO0lUOS9EakI7TVMyMURSO1FBMEt3QixnQmpCOWtFZ0IsRUFBQSxFaUJvbEUzQjtFVDNnRUw7SVMyMURSO01BcUxnQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFJVDtFQUNJLHVCQUEyQjtNQUEzQixvQkFBMkI7VUFBM0IsMkJBQTJCLEVBQUE7RUFEL0I7SUFNWSxtQkFBWTtRQUFaLG9CQUFZO1lBQVosWUFBWSxFQUFBOztBQUl4QjtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7O0FUamlFVDtFU21pRVI7SUFFUSxxQkFBeUI7UUFBekIsa0JBQXlCO1lBQXpCLHlCQUF5QixFQUFBLEVBRWhDOztBQUlEO0VBQ0ksb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIscUJBQXlCO01BQXpCLGtCQUF5QjtVQUF6Qix5QkFBeUI7RUFDekIsYVgySzRCLEVBQUE7RUUzdEV4QjtJUzJpRVI7TUFPUSxrQkFBa0IsRUFBQSxFQW9MekI7RVQzdUVPO0lTZ2pFUjtNQVdZLE1BQU0sRUFBQSxFQUViO0VBYkw7SUFnQlEsa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtJQWxCM0I7TUFvQlksZ0JBQWdCLEVBQUE7RUFwQjVCO0lBMEJZLGdCWHdKK0I7SVd2Si9CLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHFCWHNKbUM7SVdySm5DLGVBQWU7SUFLWCxnQmxCNXVFSyxFQUFBO0lrQndzRXJCO01BMENnQixjakJqdUVDO01pQmt1RUQsZVgrSXlCO01XOUl6Qiw4QmhCeC9ETTtNZ0J3L0ROLHNCaEJ4L0RNLEVBQUE7SWdCNDhEdEI7TUFnRG9CLGNoQjlyRUg7TWdCK3JFRyw4QmhCOS9ERTtNZ0I4L0RGLHNCaEI5L0RFLEVBQUE7SWdCNjhEdEI7TUFzRG9CLGNoQnp0RStCLEVBQUE7RWdCbXFFbkQ7SUE2RGdCLFlYOTlESjtJVys5REksaUNoQnZtRXVCLEVBQUE7RWdCeWlFdkM7SUEyRWdCLFlYNS9EQztJVzYvREQsaUNoQnJuRXVCLEVBQUE7RWdCeWlFdkM7SUFrRmdCLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsVUFBTTtJQUNOLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QseUJoQnJzRUY7SWdCc3NFRSxjakIvd0VDO0lpQmd4RUQsb0JQOXRFZ0Q7SU8rdEVoRCxxRWpCM3lFMEQ7SWlCNHlFMUQsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQix5QmhCM3NFRjtJZ0I0c0VFLHVEaEIxaUVNO0lnQjBpRU4sK0NoQjFpRU0sRUFBQTtFZ0I0OER0QjtJQXFHb0IseUJoQmx6RUg7SWdCbXpFRyxxQmhCcHZFSDtJZ0JxdkVHLGNoQmp6RUg7SWdCa3pFRywyRGhCcmpFRTtJZ0JxakVGLG1EaEJyakVFLEVBQUE7RWdCNjhEdEI7SUErR29CLHlCakJ0eUVIO0lpQnV5RUcsY2hCN3pFSDtJZ0I4ekVHLHFCakJ4eUVILEVBQUE7RVE0SVQ7SVMyaUVSO01BMEhnQixRQUFRO01BQ1Isa0JBQWtCO01BQ2xCLGdCQUFnQixFQUFBLEVBU3ZCO0VUaHJFRDtJUzJpRVI7TUFnSW9CLFlYNkRIO01XNURHLFlBQVk7TUFDWixpQkFBaUIsRUFBQSxFQUV4QjtFQXBJYjtJQXVJWSxhQUFhLEVBQUE7SVRsckVqQjtNUzJpRVI7UUF5SWdCLFFBQVE7UUFDUixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLFFBQVE7UUFDUixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLHlCaEI1MUVDLEVBQUEsRWdCZzNFUjtJVDlzRUQ7TVMyaUVSO1FBbUpvQixZWGdZSjtRVy9YSSxRQUFRO1FBQ1IsYVhrWUw7UVc5WEssaUJBQWlCLEVBQUEsRUFFeEI7SVR0c0VMO01TMmlFUjtRQThKb0IsU0FBUztRQUNULFVBQVU7UUFDVixnQkFBZ0IsRUFBQSxFQUV2QjtFVDdzRUw7SVMyaUVSO01Bc0tnQixRQUFRO01BQ1Isa0JBQWtCO01BQ2xCLFlBQVk7TUFDWixnQkFBZ0IsRUFBQSxFQWdCdkI7RVRwdUVEO0lTMmlFUjtNQThLb0IsWVhnQkM7TVdmRCxpQkFBaUIsRUFBQTtNQS9LckM7UUFrTDRCLGNoQi8zRVg7UWdCZzRFVyw4QmhCaG9FTjtRZ0Jnb0VNLHNCaEJob0VOLEVBQUEsRWdCaW9FRzs7QUFXekI7RUFjSSxnQlgzQnVDO0VXNEJ2QyxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUliLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLFdYWm9DO0VXY3BDLHFCWGpDMkM7RVdrQzNDLGNqQjc0RWE7RWlCaTVFYix3RWhCdHFFa0I7RWdCc3FFbEIsZ0VoQnRxRWtCLEVBQUE7RWdCMm9FdEI7SUE2QlEseUJoQnY1RXlCLEVBQUE7RWdCMDNFakM7SUFnQ1EsY2hCbjZFd0I7SWdCdTZFeEIscUJqQjE1RVM7SWlCMjVFVCx3RWhCanJFYztJZ0JpckVkLGdFaEJqckVjLEVBQUE7SWdCNG9FdEI7TUF1Q1ksY2hCcDNFSztNZ0J3M0VMLHFEaEJ2ckVVO01nQnVyRVYsNkNoQnZyRVUsRUFBQTtFZ0I0b0V0QjtJQStDUSxjaEJyN0VTO0lnQnk3RVQscUJqQno2RVMsRUFBQTtJaUJzM0VqQjtNQXFEWSxjaEJ2NUV1QyxFQUFBO0VnQmsyRW5EO0lBNERRLFlYdjlESztJVzg5REwsaUNoQjN5RStCO0lnQjR5RS9CLGVYekVpQztJVzBFakMsY2pCMzdFUztJaUIrN0VULGdCbEJoOUVhO0lrQmk5RWIscURoQnJ0RWM7SWdCcXRFZCw2Q2hCcnRFYyxFQUFBOztBZ0J5dEV0QjtFQUVRLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGFYMlF3QjtFVzFReEIsb0JQdDVFd0Q7RU91NUV4RCxnQkFBZ0I7RUFDaEIsY2hCNzlFUztFZ0I4OUVULDRCaEJqdUVjO0VnQml1RWQsb0JoQmp1RWMsRUFBQTtFZ0IwdEV0QjtJQVNZLGNqQjc4RUs7SWlCODhFTCw0QmhCbnVFVTtJZ0JtdUVWLG9CaEJudUVVLEVB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ekI7SVUvSlI7TUF3RFksMEJBQWtCO01BQWxCLHVCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsd0JaKzlKZ0M7VVkvOUpoQyxxQlorOUpnQztjWS85SmhDLHVCWis5SmdDO01ZOTlKaEMsdUJacy9KNEI7VVl0L0o1QixvQlpzL0o0QjtjWXQvSjVCLDJCWnMvSjRCO01Zci9KNUIsZWxCNFlNO01rQjNZTixpQlo2L0pPO01ZNS9KUCxTQUFTLEVBQUEsRUF1RGhCO0VBcEhMO0lBaUVnQixXQUFXO0lBQ1gsZ0JacTlKeUI7SVlwOUp6QixjakJ6Qm1DO0lpQjBCbkMsbUJSQ2dEO0lRQWhELGdCWjhtSmU7SVk3bUpmLHlCbEJnYndCO0lrQi9heEIsY0FBYyxFQUFBO0lWd0Z0QjtNVS9KUjtRQXlFb0IsZ0JaeWxKUztRWXhsSlQsZ0JaKzhKdUIsRUFBQSxFWTc4SjlCO0VBNUViO0lBK0VZLFlaazlKZ0M7SVlqOUpoQyxXWmk5SmdDO0lZaDlKaEMsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFFZixnQm5CbkZLO0ltQm9GTCx5QmpCdEZDO0lpQndGTCx5QmpCeEZLO0lpQnlGTCxxQkFBcUI7SUFDckIsZ0NqQm9LVTtJaUJwS1Ysd0JqQm9LVSxFQUFBO0lpQjlQdEI7TUE0RmdCLHlCakIvRkM7TWlCZ0dELHFCakJoR0M7TWlCaUdELFlaczhKc0I7TVlyOEp0QixnQ2pCOEpNO01pQjlKTix3QmpCOEpNLEVBQUE7SWlCN1B0QjtNQWtHZ0IseUJsQi9FQztNa0JnRkQscUJsQmhGQyxFQUFBO0VrQm5CakI7SUF1R1ksaUJaMjdKZ0UsRUFBQTtFWWxpSzVFO0lBMEdZLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUliLFFBQVEsRUFBQTtJVmdEWjtNVS9KUjtRQWlIZ0IsdUJaKzdKd0I7WVkvN0p4QixvQlorN0p3QjtnQlkvN0p4QiwyQlor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QUE7SVlwaEkvQjtNQXNCWSxVQUFVO01BQ1YsZ0JabXJJNkI7TVlsckk3QixjakIxckJLO01pQjJyQkwsbUJSbm5Cb0Q7TVFvbkJwRCxnQlowL0htQixFQUFBO0lZcGhJL0I7TUFnQ1ksY2pCbHNCSyxFQUFBO01PNkpUO1FVcWdCUjtVQXVDd0Isa0JBQWtCLEVBQUEsRUFDckI7TVZ4aUJiO1FVZ2dCUjtVQTJDb0IsVUFBVSxFQUFBLEVBRWpCO0lBN0NiO01BNkRZLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZLEVBQUE7O0FBV3hCO0VBQ0ksZWxCL09XO0VrQmdQWCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCWnEzSGE7RVlyM0hiLDZCWnEzSGE7TVlyM0hiLDBCWnEzSGE7VVlyM0hiLHNCWnEzSGE7RVk5MkhiLFNaaTJIUTtFWS8xSEosVVptMkhJO0VZajJIUiw0QlpvNkgyQjtNWXA2SDNCLGlCWm82SDJCO1VZcDZIM0IsUVpvNkgyQixFQUFBO0VFMS9JdkI7SVV3a0JSO01BZ0JRLDhCbEI3UGM7TWtCNlBkLDJCbEI3UGM7TWtCNlBkLHNCbEI3UGM7TWtCeVFWLFNaZzFIQTtNWTcwSEEsVVppMUhBLEVBQUEsRVk3eUhYO0VBbkVEO0lBb0NRLHVCWjI0SHVDO1FZMzRIdkMsb0JaMjRIdUM7WVkzNEh2QywyQloyNEh1QyxFQUFBO0lZLzZIL0M7TUFzQ1ksdUJaeTRIbUM7VVl6NEhuQyxvQlp5NEhtQztjWXo0SG5DLDJCWnk0SG1DLEVBQUE7RVkvNkgvQztJQTJDUSw0Qlp3MEhXO1FZeDBIWCxpQlp3MEhXO1lZeDBIWCxRWncwSFcsRUFBQTtFWW4zSG5CO0lBK0NRLDRCWnEwSFc7UVlyMEhYLGlCWnEwSFc7WVlyMEhYLFFacTBIVyxFQUFBO0VZcDNIbkI7SUFvRFksNEJaaTBIQztRWWowSEQsaUJaaTBIQztZWWowSEQsUVppMEhDLEVBQUE7O0FZL3lIYjtFQUtRLGdCWnE3SFc7RVlwN0hYLGNqQnR6QlM7RWlCdXpCVCxtQlIvdUJ3RDtFUWd2QnhELGdCWjgzSHVCO0VZNzNIdkIsY0FBYztFQUNkLHlCbEJqVWdDLEVBQUE7RVF2VmhDO0lVOG9CUjtNQVlZLGdCWnkySGlCLEVBQUEsRVl2Mkh4Qjs7QUFHTDtFQUNJLFVaNjZIVTtFWXo2SFYsZ0JaazdIZSxFQUFBO0VFM2xKWDtJVW9xQlI7TUFPUSxVWnc2SE8sRUFBQSxFWTc1SGQ7RVZqckJPO0lVK3BCUjtNQWdCUSxnQlp3NkhXLEVBQUEsRVl0NkhsQjs7QUFFRDtFQUNJLGdCWjI2SGUsRUFBQTtFRS9sSlg7SVVtckJSO01BR1EsZ0JaMDZIVyxFQUFBLEVZLzNIbEI7RUE5Q0Q7SUFPUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCWmc2SFM7SVloNkhULDZCWmc2SFM7UVloNkhULDBCWmc2SFM7WVloNkhULHNCWmc2SFMsRUFBQTtJWXg2SGpCO01BZVksZ0JaaTZITyxFQUFBO01ZaDdIbkI7UUFpQmdCLDZCakJ6MkJLLEVBQUE7TU9xS2I7UVVtckJSO1VBb0JnQixnQlo2NUhHLEVBQUEsRVlyNEhWO01BNUNUO1FBdUJnQixlbEJ0WEM7UWtCdVhELGNqQjcyQkM7UWlCODJCRCxlUnR5QmdELEVBQUE7UUYwRnhEO1VVbXJCUjtZQTJCb0IsZWxCelhILEVBQUEsRWtCeVlKO1FBM0NiO1VBOEJvQixjakJuM0JILEVBQUE7UWlCcTFCakI7VUFpQ29CLGNqQnQzQkgsRUFBQTs7QWlCcTRCakI7RUFDSSxXQUFXO0VBQ1gsY0FBYztFQUNkLGtCWnU0SG9DO0VZdDRIcEMseUJsQm4zQmE7RWtCbzNCYixjakIxNEJhO0VpQjI0QmIsa0JBQWtCO0VBQ2xCLG1CUnAwQjREO0VRcTBCNUQsZ0JaeTRIa0M7RVl4NEhsQyxnQm5CejRCaUI7RW1CMDRCakIscURqQjlvQmtCO0VpQjhvQmxCLDZDakI5b0JrQixFQUFBO0VPcEdkO0lVd3VCUjtNQVlRLDBCQUFrQjtNQUFsQix1QkFBa0I7TUFBbEIsa0JBQWtCLEVBQUEsRUFTekI7RUFyQkQ7SUFlUSx5QmpCcjFCUztJaUJzMUJULHlDakJycEJjO0lpQnFwQmQsaUNqQnJwQmMsRUFBQTtFaUJxb0J0QjtJQW1CUSx5QmpCbDJCMkMsRUFBQTs7QWlCczJCbkQ7RUFXWSxhQUFhLEVBQUE7O0FBWHpCO0VBY1ksY0FBYyxFQUFBO0VWeHdCbEI7SVUwdkJSO01BZ0JnQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFsQlQ7RUFxQlEsYUFBYSxFQUFBOztBQUlyQjtFVG5sQkkscUNBQWdDO0VBdUI1QixXSGs3SU87RUdsNklYLG9CUzZpQjBYO0VUN2lCMVgsb0JTNmlCMFg7RVQ3aUIxWCxhUzZpQjBYO0VUM2lCdFgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUallhO0VTa1liLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIKzRJc0M7RUc5NEl0QyxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQlQ1SjJCO0VTNkozQixpQkg4YndCO0VHM2J4QixxQlRoWlM7RVNvWmIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWjI0UUMsRVluNFFDO0VEalhGO0lVbXhCUjtNVDdmUSwwQkhvM0ljO01HcDNJZCx1QkhvM0ljO01HcDNJZCxrQkhvM0ljO01HbjNJZCw0Q0FBa0UsRUFBQSxFUzhmekU7RVR6Zkc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCUmxZSztNUW9ZRCxxQlJwWUM7TVF3WUwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUTBNTjtRQUNDLGNSM2NBO1FRNGNBLDhCUjVNSztRUTRNTCxzQlI1TUssRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUjlhMkM7SVFnYnZDLHFCUmhidUM7SVFvYjNDLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtJUWdPVjtNQUNDLGNSamVJLEVBQUE7RVFxZWI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxzQ1IxZW9CO0lRNGV4QixtQkFBbUIsRUFBQTtJQUVmO01BQ0MsY1Z4S3dELEVBQUE7RVU0S2pFO0lBSVEsc0NSdmZvQixFQUFBO0VRMmY1QjtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVFpUjdDO0lBQ0ksWUh6TkY7SUcwTkUsa0JIb3hJVTtJR254SVYsaUNSMVgyQjtJUTJYM0IsZUhxeElFO0lHaHhJRixjUnBpQks7SVFxaUJMLDhCUnBTVTtJUW9TVixzQlJwU1UsRUFBQTtFUXVTbEI7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FpQndyQnRCO0VBQ0ksZ0JaMDRIZSxFQUFBO0VFbHFKWDtJVXV4QlI7TUFHUSxnQlp5NEhXLEVBQUEsRVkzd0hsQjtFQWpJRDtJQVlRLGdCWnF5SFc7SVlweUhYLGNqQnQ4QlM7SWlCdThCVCxtQlIvM0J3RDtJUWc0QnhELGdCWjh1SHVCO0lZN3VIdkIsY0FBYztJQUNkLHlCbEJqZGdDLEVBQUE7SVF2VmhDO01VdXhCUjtRQW1CWSxnQlp5dEhpQixFQUFBLEVZdnRIeEI7RUFyQkw7SUF3QlEsY2pCajlCUztJaUJrOUJULFNBQVM7SUFDVCxzQlp5dEhhO0lZeHRIYixtQlI1NEJ3RDtJUTY0QnhELGdCWnV2SHNCO0lZdHZIdEIsZ0JsQmgwQmlCO0lrQmkwQmpCLG9CWm12SCtCLEVBQUE7SUV4aUovQjtNVXV4QlI7UUFpQ1ksb0JabXRITyxFQUFBLEVZanRIZDtFQW5DTDtJQXNDUSxXQUFXO0lBQ1gsY0FBYztJQUNkLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIseUJqQjE5QndCLEVBQUE7RWlCZzdCaEM7SUE4Q1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIseUJsQm45QlMsRUFBQTtJUXVJVDtNVTR4QlI7UUF5R29CLDBCbkI3aENDO1FtQjhoQ0QsNkJuQjloQ0MsRUFBQTtRbUJvN0JyQjtVQTZHb0IseUJuQmppQ0M7VW1Ca2lDRCw0Qm5CbGlDQyxFQUFBLEVtQm1pQ0o7RUEvR2pCO0lBeUhRLFNBQVM7SUFDVCxVQUFVLEVBQUE7RUExSGxCO0lBNkhRLFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsZ0JBQWdCLEVBQUE7O0FBc0N4QjtFQUVRLGdCWnErRzJCO0VZbitHL0Isb0JsQjduQmtCO0VrQmlvQmQseUJsQmhsQ1MsRUFBQTtFUXVJVDtJVWk4QlI7TUFXUSxvQmxCbm9CZSxFQUFBLEVrQmdyQnRCO0VWcC9CTztJVTQ3QlI7TUFjUSxpQmxCcm9CVyxFQUFBLEVrQitxQmxCO0VBeEREO0lBaUJRLFdBQVc7SUFLWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQixFQUFBO0lWbjlCdEI7TVU0N0JSO1FBNEJZLDhCQUFnQjtRQUFoQiw2QkFBZ0I7WUFBaEIsdUJBQWdCO2dCQUFoQixtQkFBZ0IsRUFBQSxFQTJCdkI7O0FDM3FDTDs7Ozs7O0N0QnNpU0M7QXNCNWhTRDtFQUNJLFdBQVc7RUFDWCxrQkFBa0I7RUFFbEIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVksRUFBQTtFQUpoQjtJQVNRLGdCYm9uRGdDLEVBQUE7O0FhaG5EeEM7RUFDSSxrQkFBa0IsRUFBQTs7QUFJdEI7RUFDSSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sT0FBTztFQUNQLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLDBDbEJWYTtFa0JXYixlQUFlO0VBQ2YsY0FBYyxFQUFBO0VBWmxCO0lBY1EsV2I2bERnQztJYTVsRGhDLFliNGxEZ0M7SWFybERoQyxpQ0FBeUI7WUFBekIseUJBQXlCLEVBQUE7SVZxdkc3QjtNQUNJLFdBQVc7TUFDWCxXQUFzRjtNQUN0RixZQUF1RjtNQUN2RixrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLFFBQVE7TUFDUixPQUFPO01BQ1AsU0FBUztNQUNULFlBQVk7TUFDWixjQUFjO01BQ2Qsd0NUdHdHUztNU3V3R1QsNkJUdndHUztNU3d3R1Qsa0JBQWtCO01BQ2xCLG1DQUEyQjtNQUEzQiwyQkFBMkI7TUFDM0IsOEVBQXdFO2NBQXhFLHNFQUF3RTtNQUN4RSxVQUFVLEVBQUE7O0FBR2Q7RUFDSTtJQUFRLGdDQUF3QjtZQUF4Qix3QkFBd0IsRUFBQTtFQUNoQztJQUFRLGlDQUF5QjtZQUF6Qix5QkFBeUIsRUFBQSxFQUFBOztBQUZyQztFQUNJO0lBQVEsZ0NBQXdCO1lBQXhCLHdCQUF3QixFQUFBO0VBQ2hDO0lBQVEsaUNBQXlCO1lBQXpCLHlCQUF5QixFQUFBLEVBQUE7SVVoeUd6QztNQXlCWSxnQkFBZ0IsRUFBQTtFQXpCNUI7SUE4QlksY2xCWnFCO0lrQmFyQixnQkFBZ0IsRUFBQTs7QXRCb2lTNUI7RXNCNWhTSSxhQUFhLEVBQUE7O0FDbkVqQjs7Ozs7Q3ZCdW1TQztBdUI3a1NEO0VBQ0MsV0FBVyxFQUFBO0VBRFo7SUFJRSxVQUFVO0lBQ1YsU0FBUztJQUNULGdCQUFnQixFQUFBOztBQUtsQjtFQUNDLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGVBQWU7RUFDZix1Qm5CcUNvRTtFbUJwQ3BFLGtCQUFrQjtFQUNsQixjcEJBZ0I7RW9CQ2hCLGdCZG9rSHNDO0VjbmtIdEMsZVZnRCtEO0VVL0MvRCxxRXBCN0J5RTtFb0JpQ3pFLGVBQWU7RUFJZixxRG5CZ09xQjtFbUJoT3JCLDZDbkJnT3FCLEVBQUE7RU8vRmQ7SVluSlI7TUFvQkUsMEJBQWtCO01BQWxCLHVCQUFrQjtNQUFsQixrQkFBa0I7TUFDbEIsNkJuQnZDbUI7TW1Cd0NuQix3Q2QrNkd3RDtNYzk2R3hELG1CVmtDOEQ7TVVqQzlELGdCZDg2RytCLEVBQUE7TWN0OEdqQztRQTBCRyxjbkJzQmM7UW1CckJkLDBCQUEwQjtRQUMxQiw4Qm5CcU5tQjtRbUJyTm5CLHNCbkJxTm1CLEVBQUE7UW1CalB0QjtVQThCSSxjcEJ2QmE7VW9Cd0JiLDhCbkJrTmtCO1VtQmxObEIsc0JuQmtOa0IsRUFBQSxFbUJqTmxCO0VBaENKO0lBcUNFLG9CQUFvQixFQUFBO0VBckN0QjtJQXlDRSwwQkFBMEI7SUFDMUIsZUFBZTtJQUNmLE9BQU87SUFDUCxlQUFlO0lBQ2YseUJwQnRDZTtJb0J1Q2YsY25CN0RlO0ltQjhEZix5RG5CME1nRDtZbUIxTWhELGlEbkIwTWdEO0ltQnpNaEQsaUNBQXlCO0lBQXpCLHlCQUF5QjtJQUN6QixhQUFhLEVBQUE7SUFqRGY7TUFtREcsY25CbEVjLEVBQUE7RW1CZWpCO0lBdURFLFlkeVJVO0ljeFJWLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsaUNuQjJGcUM7SW1CMUZyQyxlQUFlO0lBQ2YsY3BCckRlLEVBQUE7SVE0SVQ7TVluSlI7UUE4REcsZUFBZSxFQUFBLEVBRWhCO0VBaEVGO0lBa0VFLFVBQVUsRUFBQTtFQWxFWjtJQXFFRSxpQkFBaUIsRUFBQTtJWjhFWDtNWW5KUjtRQXdFRyxXQURzQztRQUV0QyxZQUZzQztRQUd0QyxrQkFBa0I7UUFDbEIsU0FBUztRQUNULFVBQVU7UUFDVixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLHlCbkIvQmM7UW1CZ0NkLGNuQi9GYztRbUJnR2Qsb0JWeEI2RDtRVXlCN0QsbUJBQW9EO1FBQ3BELGtCQUFrQjtRQUNsQixtQm5CMEppQztRbUJ6SmpDLDJCbkJwR2MsRUFBQSxFbUJ1R2Y7O0FBR0Y7RUFDQyxrQkFBa0I7RUFDbEIsdUJuQm5Eb0UsRUFBQTtFT3lHN0Q7SVl4RFI7TUFPRSw2Qm5CcEhtQixFQUFBLEVtQjJIcEI7RUFkRDtJWDhlSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lXcmVyQixNQUFNO0lBQ04sU0FBUyxFQUFBO0lYcWVQO01BQ0ksWUg5UlU7TUcrUlYsaUNSemIrQjtNUTBiL0IsZUg0TlE7TUcxTkosNkJUMWtCSztNUzhrQlQsc0RSbldjO01RbVdkLDhDUm5XYztNUW1XZCxzQ1JuV2M7TVFtV2QsOERSbldjLEVBQUE7SVFzV2Q7TUFHUSxjUnZtQkM7TVEybUJMLGdDQUF3QjtjQUF4Qix3QkFBd0I7TUFDeEIsc0RSL1dVO01RK1dWLDhDUi9XVTtNUStXVixzQ1IvV1U7TVErV1YsOERSL1dVLEVBQUE7SVFtWGQ7TUFDSSxjUjVsQnFCO01RNmxCckIsOENSclhVO01RcVhWLHNDUnJYVSxFQUFBOztBTzlGZDtFWXpDUjtJQUdFLGFBQWEsRUFBQSxFQWFkOztBQWhCRDtFQU1FLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IscUJBQXlCO01BQXpCLGtCQUF5QjtVQUF6Qix5QkFBeUIsRUFBQTtFQVAzQjtJQVNHLFdBQVc7SUFDWCxTQUFTLEVBQUE7SVowQko7TVlwQ1I7UUFZSSxXQUFXLEVBQUEsRUFFWjs7QUFHSDtFQUNDLGtCQUFrQixFQUFBO0VBRG5CO0lBR0UsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsV0FBVztJQUNYLGNBQWM7SUFDZCxlQUFlO0lBQ2Ysd0NwQjdIZTtJb0I4SGYsY25CakplO0ltQmtKZixtQlY3RThEO0lVOEU5RCxrQkFBa0I7SUFDbEIsb0JBQW9CLEVBQUE7O0FBR3RCO0VBSVksU0FBUyxFQUFBOztBQUpyQjtFQVFFLGdCZGc5R3FDO0VjLzhHckMsaUJBQWlCO0VBQ2pCLGdDbkJ4SitCLEVBQUE7RU9zSnpCO0lZUlI7TUFZRyxnQmQ2OEdpQyxFQUFBLEVjcjhHbEM7RUFwQkY7SUFlRyxpQkFBaUIsRUFBQTtFQWZwQjtJQWtCRyxnQkFBZ0IsRUFBQTs7QUFsQm5CO0VBdUJFLGdCQUFnQjtFQUNoQixhQUFhLEVBQUE7RUF4QmY7SUEwQlksU0FBUztJQUNULFVBQVUsRUFBQTtFQTNCdEI7SUE4QkcsY0FBYztJQUNkLHlDbkJ3RW1CO0ltQnhFbkIsaUNuQndFbUIsRUFBQTtJTy9GZDtNWVJSO1FBa0NLLHlCbkJ2SzRCO1FtQndLNUIseUNuQm1FaUI7UW1CbkVqQixpQ25CbUVpQixFQUFBLEVtQmpFbEI7RUFyQ0o7SUF5Q0ksVUFBVTtJQUNWLDZCbkJ2TWlCO0ltQndNakIsY25CbE1hO0ltQm1NYixtQlY5SDRELEVBQUE7RVVrRmhFO0lBK0NnQixrQkFBa0I7SUFDOUIsU0FBUztJQUNHLG1DbkJxRE07SW1CckROLDJCbkJxRE0sRUFBQTtFbUJ0R3RCO0lBc0RZLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsbUNuQitDVTtJbUIvQ1YsMkJuQitDVSxFQUFBO0ltQnZHdEI7TUE0RGdCLGtCQUFrQixFQUFBO01BNURsQztRQWdFd0IsMEJBQTBCO1FBQzFCLGNwQnJNUDtRb0JzTU8sOEJuQm9DRjtRbUJwQ0Usc0JuQm9DRixFQUFBO01tQnRHdEI7UUFxRXdCLGVBQW9EO1FBQ3BELFlBQWlEO1FBQ2pELGtCbkIyQkw7UW1CMUJLLDRCbkI4QkY7UW1COUJFLG9CbkI4QkYsRUFBQTtFbUJ0R3RCO0lBOEVHLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CVm5LNkQ7SVVvSzdELGNuQnpPYyxFQUFBO0ltQnVKakI7TUFvRkksY25CL0thLEVBQUE7SW1CMkZqQjtNQXVGSSxjbkI5T2EsRUFBQTtFbUJ1SmpCO0lBMkZHLHlCQUF5QixFQUFBO0VBM0Y1QjtJQThGRyxtQkFBWTtRQUFaLG9CQUFZO1lBQVosWUFBWTtJQUNaLDRCQUFRO1FBQVIsaUJBQVE7WUFBUixRQUFRLEVBQUE7RUEvRlg7SUFrR0csV2R1NEdnQztJY3Q0R2hDLFlkczRHZ0M7SWNyNEdoQyxjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLGtCbkJKZ0I7SW1CS2hCLDZCbkJwUWtCO0ltQnFRbEIsNEJuQkRtQjtJbUJDbkIsb0JuQkRtQixFQUFBO0VtQnZHdEI7SUE4R0csNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVE7SUFDUixpQkFBaUI7SUFDakIsbUJWbE02RDtJVW1NN0QsaUJBQWlCLEVBQUE7RUFqSHBCO0lBcUhHLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsNEJBQVE7UUFBUixpQkFBUTtZQUFSLFFBQVEsRUFBQTtJQXZIWDtNQTBISyxRQUFRLEVBQUE7O0FBMUhiO0VBa0lJLGFBQWEsRUFBQTs7QUFsSWpCO0VBc0lHLFVBQVUsRUFBQTs7QUF0SWI7RUE2SUcsU0FBUztFQUNULCtCbkJ2Q21CO0VtQnVDbkIsdUJuQnZDbUIsRUFBQTs7QW1Cdkd0QjtFQWlKRyxnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7RUFsSnRCO0lBc0pJLHlCQUF3QixFQUFBOztBQXRKNUI7RUEySkUsa0JBQWtCO0VBQ2xCLFVkOHpHd0I7RWM3ekd4QixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLGNwQm5TZTtFb0JvU2YsZUFBZTtFQUNmLG9CVm5QOEQ7RVVvUDlELGdCZCt6R3NDLEVBQUE7RWNqK0d4QztJQW9LRyxjbkIvUGMsRUFBQTtFbUIyRmpCO0lBdUtHLGNuQjlUYyxFQUFBO0VtQnVKakI7SUEwS0cscUJBQXFCLEVBQUE7O0FBMUt4QjtFQThLRSxVQUFVLEVBQUE7O0FBOUtaO0VBa0xHLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLGNuQjVVYztFbUI2VWQsZ0JkOHpHd0M7RWM3ekd4QyxrQmQ4ekcwQyxFQUFBO0Vjci9HN0M7SUF5TEksY3BCN1RhLEVBQUE7RW9Cb0lqQjtJQTRMSSxjbkI1UytDLEVBQUE7O0FtQmlUbkQ7RUFFRSxtQlZyUjhEO0VVc1I5RCxjcEJ4VWU7RW9CeVVmLDhCbkI5Rm9CO0VtQjhGcEIsc0JuQjlGb0IsRUFBQTtFbUIwRnRCO0lBTUcsY25CbFNjO0ltQm1TZCw4Qm5CbEdtQjtJbUJrR25CLHNCbkJsR21CLEVBQUE7O0FtQnNHdEI7RUFDQyxVQUFVLEVBQUE7O0FBR1g7RUFFRSxjbkJ6V2U7RW1CMFdmLGVBQWUsRUFBQTtFQUhqQjtJQUtHLFlwQmhXSztJb0JpV0wsY25CalRjO0ltQmtUZCxlcEI3UDZCO0lvQjhQN0Isa0NuQjlJa0Q7SW1CK0lsRCxrQkFBa0I7SUFDbEIsOEJuQnBIbUI7SW1Cb0huQixzQm5CcEhtQixFQUFBO0VtQjBHdEI7SUFhRyxjcEJqV2MsRUFBQTtJb0JvVmpCO01BZUksY3BCbldhO01vQm9XYiw4Qm5CMUhrQjtNbUIwSGxCLHNCbkIxSGtCLEVBQUE7RW1CMEd0QjtJQW9CRyxjbkJwVmdELEVBQUE7SW1CZ1VuRDtNQXNCSSxjbkJ0VitDO01tQnVWL0MsOEJuQmpJa0I7TW1CaUlsQixzQm5CaklrQixFQUFBOztBbUJ3SXRCO0VBRUMsY0FBYyxFQUFBOztBQUdmO0VBQ0MsUUFBUTtFQUNSLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIseUJuQmpaZ0IsRUFBQTtFT2tLVDtJWTJPUjtNQU1FLFdBQVc7TUFDWCxZQUFZO01BQ1osNkJuQnhabUI7TW1CeVpuQixpQkFBaUIsRUFBQSxFQTREbEI7RVpyVE87SVlnUFI7TUFhRyxrQkFBa0IsRUFBQSxFQUVuQjtFWi9QTTtJWWdQUjtNQWtCRyxnQkFBZ0IsRUFBQTtNQWxCbkI7UUFvQkksWUFBWSxFQUFBLEVBQ1o7RVpyUUk7SVlnUFI7TUEwQkcsWUFBWTtNQUNaLGdCQUFnQjtNQUNoQixhQUFhO01BQ2IsZUFBZTtNQUNmLE1BQU07TUFDTixPQUFPO01BRVAsY0FBYyxFQUFBO01BakNqQjtRQW1DSSxhQUFhO1FBQ2IsZ0JBQWdCLEVBQUEsRUFDaEI7RUFyQ0o7SUEwQ0UsaUJBQWlCO0lBQ2pCLGNwQmxhZTtJb0JtYWYsbUJWalg4RDtJVWtYOUQsZ0JkeXFHK0I7SWN4cUcvQixvQ25COWJtQixFQUFBO0lPcUtiO01ZMk9SO1FBZ0RHLGdCQUFnQjtRQUNoQixxQm5CbGI4QixFQUFBLEVtQm9iL0I7RUFuREY7SUFxREUsY0FBYyxFQUFBO0lBckRoQjtNQXdERyw2QkFBNkIsRUFBQTtJQXhEaEM7TUEyREcsY25CaGI4QixFQUFBO0VtQnFYakM7SUErREUsZUFBZSxFQUFBO0lBL0RqQjtNQWtFRyxlQUFlLEVBQUE7O0FaN1NWO0VZa1RSO0lBSUUsbUJBQW1CLEVBQUEsRUFxRXBCOztBQXpFRDtFQU9FLFNBQVM7RUFDVCxlQXZlcUM7RUF3ZXJDLGNwQnZjZTtFb0J3Y2YsNkJuQmplbUI7RW1Ca2VuQixnQmQrb0d1QztFYzlvR3ZDLG9CVnhaOEQ7RVV5WjlELGtCZCtvR3lDLEVBQUE7O0FjNXBHM0M7RUFnQkUsU0FBUztFQUNULFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsZ0NuQjNkK0IsRUFBQTs7QW1Cd2NqQztFQXNCRSxrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0VBdkJqQjtJQTBCSSx5Qm5CemQ2QjtJbUIwZDdCLHlDbkIvT2tCO0ltQitPbEIsaUNuQi9Pa0IsRUFBQTtJbUJvTnRCO01BNkJLLGNuQmxiWTtNbUJtYlosOEJuQmxQaUI7TW1Ca1BqQixzQm5CbFBpQixFQUFBOztBbUJvTnRCO0VBb0NFLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsY25CdmZlO0VtQndmZixtQlZuYjhEO0VVb2I5RCxnQmRnbkdtQyxFQUFBO0VjeHBHckM7SUEwQ0csWUFBWTtJQUNaLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixVQUFVO0lBQ1YsU0FBUztJQUNULGNBQWM7SUFDZCxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGNuQnpmOEI7SW1CMGY5QixnQmRtbUdrQztJY2xtR2xDLGtCQUFrQjtJQUNsQixrQlZuYzZEO0lVb2M3RCw0Qm5CM1FtQjtJbUIyUW5CLG9CbkIzUW1CLEVBQUE7RW1CbU50QjtJQTRESSxtQlZ4YzREO0lVeWM1RCxjbkJsZGE7SW1CbWRiLHlDbkJsUmtCO0ltQmtSbEIsaUNuQmxSa0IsRUFBQTtFbUJvTnRCO0lBa0VHLG1CQUFtQjtJQUNuQixtQlYvYzZEO0lVZ2Q3RCxrQkFBa0I7SUFDbEIsZ0JkbWxHa0M7SWNsbEdsQyxjbkJ2aEJjLEVBQUE7O0FtQjZoQmpCO0VBRUUsc0JBQWdELEVBQUE7O0FBSWxEO0VBQ0MsZWRpbUc0QjtFY2htRzVCLGdCZGltRzZCO0VjL2xHN0IscUJBQW9CO0VBRXBCLHNDQUFxQztFQUVyQyxvQkFBb0IsRUFBQTtFQVJyQjtJQVVFLHFCbkJqZmU7SW1Ca2ZmLHFDbkJqVG9CO0ltQmlUcEIsNkJuQmpUb0IsRUFBQTtFbUJzU3RCO0lBY0UscUJuQnJmZTtJbUJzZmYscUNuQnJUb0I7SW1CcVRwQiw2Qm5CclRvQixFQUFBO0VtQnNTdEI7SUFtQkUsWWRnbEc0QjtJYy9rRzVCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHlCbkI3akJlO0ltQjhqQmYscUJwQnBVbUQ7SW9CcVVuRCxtQkFBbUI7SUFDbkIsMkJBQTJCO0lBRTFCLHNCckI3akJrQixFQUFBO0VxQmlpQnJCO0lBZ0NFLHlCbkJ6a0JtQjtJbUIwa0JuQiw2REFBcUQ7WUFBckQscURBQXFEO0lBQ3JELDRCbkJ4VW9CO0ltQndVcEIsb0JuQnhVb0IsRUFBQTtFbUJzU3RCO0lBcUNFLDZCbkI5a0JtQixFQUFBO0VtQnlpQnJCO0lBcUNFLDZCbkI5a0JtQixFQUFBOztBbUJrbEJyQjtFQUNDLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLDhCQUEyQjtFQUEzQiw4QkFBMkI7TUFBM0IsK0JBQTJCO1VBQTNCLDJCQUEyQjtFQUMzQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0VBSHBCO0lBS0UsWUFBWSxFQUFBOztBQUlkO0VBQ0MsY0FBYztFQUNkLGdCQUFnQixFQUFBO0VaeGJUO0lZc2JSO01BSUUsY0FBYyxFQUFBLEVBRWY7O0FBQ0Q7RUFDQyxZQUFZLEVBQUE7O0FDdG5CYjs7OztDeEI4alRDO0F3QjdpVEQ7RUFDSSxRQUFRO0VBQ1IsU0FBUztFQUNULGdCQUFnQixFQUFBO0ViK0paO0lhbEtSO01BS1Esb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2Qix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQixFQUFBLEVBNjFCMUI7RUFwMkJEO0lBVVEsYUFBYSxFQUFBO0VBVnJCO0lBYVEsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLGFBQWE7SUFDYix5QnBCZlM7SW9CZ0JULDREcEIwUDZDO1lvQjFQN0Msb0RwQjBQNkM7SW9CelA3QyxnQkFBZ0I7SUFFWixnQnRCZFMsRUFBQTtJUzZKYjtNYXZLUjtRQTJCWSxnQkFBZ0IsRUFBQSxFQUV2QjtFQTdCTDtJQWlDUSxXQUFXO0lBRVgsWUFBWTtJQUNaLG1CQUFtQixFQUFBO0libUluQjtNYXZLUjtRQXNDWSxtQkFBbUI7UUFDbkIsZ0JBQWdCLEVBQUEsRUFFdkI7RUF6Q0w7SUEyQ1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0IsRUFBQTtJYjJIdEI7TWF2S1I7UUE4Q1ksOEJBQW1CO1FBQW5CLDZCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQiw4QkFBNkI7WUFBN0IsMkJBQTZCO2dCQUE3Qiw2QkFBNkIsRUFBQSxFQUVwQztFQWpETDtJQW1EUSxrQkFBa0I7SUFDbEIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtJYmdIbkI7TWF2S1I7UUF5RFksOEJBQW1CO1FBQW5CLDZCQUFtQjtZQUFuQix1QkFBbUI7Z0JBQW5CLG1CQUFtQixFQUFBLEVBRTFCO0VBM0RMO0lBNkRRLHNCQUFzQixFQUFBO0VBN0Q5QjtJQWdFUSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGVBQWU7SUFDZixNQUFNO0lBQ04sT0FBTztJQUVQLGFBQWE7SUFDYixnQkFBZ0I7SUFFaEIsYWZ5dkJvQixFQUFBO0llbDBCNUI7TUEyRVksY0FBYyxFQUFBO0VBM0UxQjtJQWtGWSxZQUFZLEVBQUE7SWJxRmhCO01hdktSO1FBcUZnQixhQUFhLEVBQUEsRUFFcEI7RUF2RlQ7SUEyRlksMkRBQTJELEVBQUE7RUEzRnZFO0lBZ0dZLGdCZnZFZTtJZXdFZixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHlCcEJsRnFCLEVBQUE7RW9CakJqQztJQXlHZ0IsVUFBVSxFQUFBO0VBekcxQjtJQThHZ0IsMEJBQWtCO0lBQWxCLHVCQUFrQjtJQUFsQixrQkFBa0IsRUFBQTtFQTlHbEM7SUFtSFEsZ0NBQXVCLEVBQUE7SUFuSC9CO01Bc0hnQixjQUFjO01BQ2QsWUFBWTtNQUNaLGVBQWUsRUFBQTtJQXhIL0I7TUEySGdCLGdCQUFnQixFQUFBO0liNEN4QjtNYXZLUjtRQW1Jb0Isd0JBQTRFLEVBQUEsRUFFbkY7SUFySWI7TUF1SWdCLFdBQVc7TUFDWCxZQUFZO01BQ1osYUFBYTtNQUNiLGdCQUFnQjtNQUNoQixlQUFlLEVBQUE7SUEzSS9CO01BK0lnQiw0QkFBNEIsRUFBQTtJQS9JNUM7TUFxSm9CLFlBQVksRUFBQTtJQXJKaEM7TUEySlksV0FBVztNQUVYLHlCcEJsSkssRUFBQTtFb0JYakI7SUFrS1ksY0FBYztJQUNkLGFBQWE7SUFDYix5QnBCdEpvQixFQUFBO0VvQmRoQztJQXlLWSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixnQkFBZ0IsRUFBQTtJQTNLNUI7TUE2S2dCLHFCQUFxQjtNQUNyQixvQlhqR2dEO01Xa0doRCxrQkFBa0IsRUFBQTtJQS9LbEM7TUFrTGdCLGdCQUFnQjtNQUNoQixrQkFBa0IsRUFBQTtNQW5MbEM7UUFzTG9CLHlCQUF5QixFQUFBO0VBdEw3QztJQTRMWSxjQUFjLEVBQUE7SUE1TDFCO01BOExnQixhQUFhO01BQ2IsMEJBQTBCO01BQzFCLGNBQWM7TUFDZCxTQUFTO01BQ1QsVUFBVTtNQUNWLGdCQUFnQixFQUFBO01iNUJ4QjtRYXZLUjtVQXFNb0IsOEJBQThCLEVBQUEsRUFtRXJDO01BeFFiO1FBd01vQixXQUFXO1FBQ1gsYUFBYTtRQUNiLG9DQUFvQztRQUNwQyxTQUFTO1FBQ1QseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYix5QnBCbk1IO1FvQnVNRyx5Q3BCb0RFO1FvQnBERixpQ3BCb0RFLEVBQUE7UU8vRmQ7VWF2S1I7WUFvTndCLGtCQUFrQixFQUFBLEVBbUR6QjtRQXZRakI7VUF1TndCLHlCckI1TFA7VXFCNkxPLHlDcEI2Q0Y7VW9CN0NFLGlDcEI2Q0YsRUFBQTtVb0JyUXRCO1lBME40QixjcEJyTlg7WW9Cc05XLDhCcEIwQ047WW9CMUNNLHNCcEIwQ04sRUFBQTtRb0JyUXRCO1VBK053QixZZmdTTTtVZS9STixjcEI1RmlCO1VvQjZGakIsdUJwQlZVO1VvQldWLGVBQWU7VUFDZiw4QnBCbUNGO1VvQm5DRSxzQnBCbUNGLEVBQUE7UW9CdFF0QjtVQXNPd0IsWWYwTU07VWV6TU4sY3BCbkdpQjtVb0JvR2pCLGlDcEIvRGU7VW9CZ0VmLGVBQWU7VUFDZiw4QnBCNEJGO1VvQjVCRSxzQnBCNEJGLEVBQUE7UW9CdFF0QjtVQTZPd0IsY0FBYyxFQUFBO1FBN090QztVQWdQd0IsZ0JBQWdCO1VBQ2hCLGNwQjdHaUI7VW9COEdqQixxRXJCalBrRDtVcUJrUGxELGdCQUFnQjtVQUNoQixtQlh2S3dDO1VXd0t4Qyw4QnBCaUJGO1VvQmpCRSxzQnBCaUJGLEVBQUE7UW9CdFF0QjtVQXdQd0Isb0JBQWE7VUFBYixvQkFBYTtVQUFiLGFBQWE7VUFDYiw0QkFBc0I7VUFBdEIsNkJBQXNCO2NBQXRCLDBCQUFzQjtrQkFBdEIsc0JBQXNCO1VBQ3RCLGdCQUFnQjtVQUNoQiw4QnBCV0Y7VW9CWEUsc0JwQldGLEVBQUE7UW9CdFF0QjtVQThQd0IsY3BCN09TO1VvQjhPVCw4QnBCT0Y7VW9CUEUsc0JwQk9GLEVBQUE7VW9CdFF0QjtZQWlRNEIsWWZnTEk7WWUvS0osaUJBQWlCO1lBQ2pCLG1DcEJ6RmU7WW9CMEZmLGVBQWUsRUFBQTtFYjdGbkM7SWF2S1I7TUE2UVkseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUIsRUFBQSxFQWtDMUI7RUEvU0w7SUFnUlksa0JBQWtCLEVBQUE7RUFoUjlCO0lBVEksaUJmc2lKa0M7SWVyaUpsQyxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYix5QnBCVWE7SW9CVGIsNERwQm1SaUQ7WW9CblJqRCxvRHBCbVJpRDtJb0JsUmpELGdCQUFnQixFQUFBO0VBR3BCO0lBc1JZLGdCQUFnQixFQUFBO0lBdFI1QjtNQXdSZ0IsZ0Jma2pCRDtNZWpqQkMsbUJmaWpCRCxFQUFBO01FbnFCUDtRYXZLUjtVQTJSb0IsaUJmZ2pCQSxFQUFBLEVlOWlCUDtFQTdSYjtJQWdTWSxlQUFlO0lBQ2YsWWY2dkltQjtJZTV2SW5CLGFBQWE7SUFDYixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHlCcEJ2Um9CO0lvQnlSaEIsZ0J0QjdSSztJc0IrUlQsK0JwQm5DVTtJb0JtQ1YsdUJwQm5DVSxFQUFBO0lvQnRRdEI7TUEyU2dCLHFCcEJ2T0M7TW9Cd09ELHFDcEJ2Q007TW9CdUNOLDZCcEJ2Q00sRUFBQTtFb0JyUXRCO0lBa1RZLGdCZjRoQmtDLEVBQUE7SWU5MEI5QztNQW9UZ0IsV0FBVztNQUNYLGNBQWMsRUFBQTtNYjlJdEI7UWF2S1I7VUF1VG9CLGNmd2hCVztVZXZoQlgsbUJBQW1CLEVBQUEsRUFHMUI7RUEzVGI7SUFnVVkscUJBQXFCLEVBQUE7SWJ6SnpCO01hdktSO1FBa1VnQix1QkFBdUIsRUFBQSxFQUU5QjtFQXBVVDtJQXVVWSxnQkFBZ0IsRUFBQTtJYnJLcEI7TWFsS1I7UUEwVWdCLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsbURBQW1EO1FBS25ELDZEQUFxRDtnQkFBckQscURBQXFELEVBQUEsRUFFNUQ7RUFuVlQ7SUEwVlksa0NBQTZCO0lBQzdCLGdFQUE4QixFQUFBO0licExsQztNYXZLUjtRQTZWZ0IsbUJBQW1CLEVBQUEsRUFFMUI7RWJ4TEQ7SWF2S1I7TUFrV2dCLGlCQUFpQixFQUFBLEVBRXhCO0ViN0xEO0lhdktSO01BdVdnQixtQmZoTU0sRUFBQSxFZXFNYjtFQTVXVDtJQTBXZ0IsbUJYN1JnRCxFQUFBO0VXN0VoRTtJQStXZ0IsY0FBYztJQUNkLG1CWG5TZ0QsRUFBQTtFVzdFaEU7SUFvWFkscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixjckIzVks7SXFCNFZMLGdCZnpWbUIsRUFBQTtJRXlJdkI7TWF2S1I7UUF5WGdCLFlmcXBJbUIsRUFBQSxFZW5wSTFCO0VBM1hUO0lBNlhZLFdBQVcsRUFBQTtJYnROZjtNYXZLUjtRQStYZ0IseUJBQW1ELEVBQUEsRUFFMUQ7RUFqWVQ7SUF3WWdCLGdCZnNjOEI7SWVyYzlCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsWUFBWSxFQUFBO0lBM1k1QjtNQTZZb0IsZ0JBQWdCO01BQ2hCLFdBQVc7TUFDWCxZZmtjTDtNZWpjSyxnQkFBZ0IsRUFBQTtNYnpPNUI7UWF2S1I7VUFrWndCLGNmNmJPO1VlNWJQLHNCZitiQyxFQUFBLEVlN2JSO0VBclpqQjtJQXdaZ0IsZ0JBQWdCLEVBQUE7RUF4WmhDO0lBOFpZLDBCQUFpQjtJQUFqQix1QkFBaUI7SUFBakIsa0JBQWlCLEVBQUE7RUE5WjdCO0lBbWFZLGlCQUFpQjtJQUNqQixXQUFXLEVBQUE7RUFwYXZCO0lBMmFnQixnQkFBZ0I7SUFDaEIsbUJYL1ZnRDtJV2dXaEQsZ0JmcWxJeUI7SWVwbEl6QixrQkFBa0IsRUFBQTtJYnZRMUI7TWF2S1I7UUFnYm9CLGdCQUFnQixFQUFBLEVBRXZCO0VBbGJiO0lBcWJZLGlCZmtrSUs7SWVqa0lMLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGFmaWtJYztJZWhrSWQseUJwQnJiSztJb0JzYkwsNERwQjVLeUM7WW9CNEt6QyxvRHBCNUt5QztJb0I2S3pDLFlBQVksRUFBQTtJYnJSaEI7TWF2S1I7UUE4YmdCLGlCZjBqSUMsRUFBQSxFZXhqSVI7RUFoY1Q7SUFrY1ksZ0JmeWtJa0I7SWV4a0lsQixXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUE7SWIvUnZCO01hdktSO1FBd2NnQixtQkFBbUIsRUFBQSxFQUUxQjtFYm5TRDtJYXZLUjtNQTZjZ0IsZ0JmcGJXO01lcWJYLFdBQVc7TUFDWCxpQkFBaUI7TUFDakIsbUJBQW1CO01BQ25CLGdCQUFnQixFQUFBLEVBRXZCO0VBbmRUO0lBcWRZLGdCZjViZTtJZTZiZixZQUFZLEVBQUE7RUF0ZHhCO0lBeWRZLFVBQVU7SUFDVixZZmt6RWU7SWVqekVmLFNBQVMsRUFBQTtFQTNkckI7SUE4ZFksU0FBUyxFQUFBO0VBOWRyQjtJQWtlWSxzQkFBc0IsRUFBQTtFQWxlbEM7SUF5ZWdCLGdCZmhkVztJZWlkWCxXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0liclUxQjtNYXZLUjtRQThlb0IsaUJBQWlCLEVBQUEsRUFFeEI7RUFoZmI7SUFtZlksZ0JBQWdCLEVBQUE7SWI1VXBCO01hdktSO1FBcWZnQixVQUFVLEVBQUEsRUFFakI7RUF2ZlQ7SUF5ZlksZ0JmaGVlO0llaWVmLFdBQVc7SUFDWCxpQkFBaUIsRUFBQTtFQTNmN0I7SUFtZ0JnQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1Ysa0JBQWtCLEVBQUE7SWJoVzFCO01hdktSO1FBeWdCb0IsaUJBQWlCLEVBQUEsRUFFeEI7RUEzZ0JiO0lBOGdCWSxnQkFBZ0I7SUFDaEIsV0FBVyxFQUFBO0VBL2dCdkI7SUFzaEJZLGdCQUFnQjtJQUNoQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0VBdmhCekI7SUEwaEJZLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsNEJBQXNCO0lBQXRCLDZCQUFzQjtRQUF0QiwwQkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixZQUFZLEVBQUE7SWJ0WGhCO01hdktSO1FBK2hCZ0IsaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsYUFBYSxFQUFBLEVBVXBCO0lBNWlCVDtNQXFpQmdCLGNBQWM7TUFDZCxXQUFXO01BQ1gsWUFBWSxFQUFBO01iaFlwQjtRYXZLUjtVQXlpQm9CLGdCZmhoQk8sRUFBQSxFZWtoQmQ7RUEzaUJiO0lBZ2pCWSxnQmZ2aEJlO0lleWhCWCxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBTWpCLGtCZmd1RnNDLEVBQUE7RWV6eEd0RDtJQTZqQlksZUFBZSxFQUFBO0lBN2pCM0I7TUErakJnQixvQkFBb0IsRUFBQTtNQS9qQnBDO1FBaWtCb0IsV0FBVztRQUNYLFlBQVksRUFBQTtFQWxrQmhDO0lBOGtCWSxlQUFlO0lBQ2YsaUJBQWtDO0lBQ2xDLHlCcEI5aEJ1QztJb0JnaUJuQyxnQnRCeGtCSyxFQUFBO0lTNkpiO01hdktSO1FBcWxCZ0Isa0JBQW1DLEVBQUEsRUFFMUM7RUF2bEJUO0lBeWxCWSxTQUFTO0lBQ1QsVUFBVTtJQUNWLGNwQnRsQks7SW9CdWxCTCxrQkFBa0I7SUFDbEIsb0JYaGhCb0Q7SVdpaEJwRCxnQmZ3TzBCLEVBQUE7RWV0MEJ0QztJQW9tQlksb0JYdmhCb0QsRUFBQTtFVzdFaEU7SUF1bUJZLGdCZm1PRztJZWxPSCxtQmZrT0csRUFBQTtJRW5xQlA7TWF2S1I7UUEwbUJnQixpQmZpT0ksRUFBQSxFZTVOWDtJQS9tQlQ7TUE2bUJnQixhQUFhLEVBQUE7RUE3bUI3QjtJWjZsQkksb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJWXVCZixXQUFLO0lBQ0wsV0FoRG9DLEVBQUE7SVp5QnhDO01BQ0ksWUg5UlU7TUcrUlYsaUNSemIrQjtNUTBiL0IsZUg0TlE7TUcxTkosY1JobUJLO01Rb21CVCxzRFJuV2M7TVFtV2QsOENSbldjO01RbVdkLHNDUm5XYztNUW1XZCw4RFJuV2MsRUFBQTtJUXNXZDtNQUdRLHlDWUtrRTtNWkR0RSxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLHNEUi9XVTtNUStXViw4Q1IvV1U7TVErV1Ysc0NSL1dVO01RK1dWLDhEUi9XVSxFQUFBO0lRbVhkO01BQ0ksY1I1bEJxQjtNUTZsQnJCLDhDUnJYVTtNUXFYVixzQ1JyWFUsRUFBQTtJTzlGZDtNYXZLUjtRQXluQlksU0FBUyxFQUFBLEVBRWhCO0VBM25CTDtJQWdvQlksaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJBQTJDLEVBQUE7SWI1ZC9DO01hdktSO1FBcW9CZ0IsYWZ1MUNrQixFQUFBLEVlcjFDekI7RUF2b0JUO0lBMG9CWSxXQUFXO0lBQ1gsU0FBUyxFQUFBO0VBM29CckI7SUFncEJnQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixtQlh4a0JnRDtJV3lrQmhELGdCZnhHYTtJZTBHYixrQkFBa0IsRUFBQTtJYmpmMUI7TWF2S1I7UUEwcEJvQixtQkFBbUIsRUFBQSxFQXFCMUI7SUEvcUJiO01BNnBCb0IsV0FBVztNQUNYLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2Isd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsU0FBUyxFQUFBO01BanFCN0I7UUFtcUJ3QiwyQkFBb0I7UUFBcEIsMkJBQW9CO1FBQXBCLG9CQUFvQjtRQUNwQix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXdCO1FBQ3hCLGlDcEI3ZmU7UW9COGZmLG9CWDFsQndDLEVBQUE7UUZxRnhEO1VhbEtSO1lBeXFCNEIsa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxZQUFZLEVBQUEsRUFFbkI7RUE3cUJyQjtJQWtyQlksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsbUJYMW1Cb0Q7SVcybUJwRCxnQmYxSWlCO0llNElqQixrQkFBa0IsRUFBQTtJYm5oQnRCO01hdktSO1FBNHJCZ0IsbUJBQW1CLEVBQUEsRUFxQjFCO0lBanRCVDtNQStyQmdCLFdBQVc7TUFDWCxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFNBQVMsRUFBQTtNQW5zQnpCO1FBcXNCb0IsMkJBQW9CO1FBQXBCLDJCQUFvQjtRQUFwQixvQkFBb0I7UUFDcEIseUJBQW1CO1lBQW5CLHNCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLHdCQUF3QjtRQUN4QixpQ3BCL2hCbUI7UW9CZ2lCbkIsb0JYNW5CNEMsRUFBQTtRRnFGeEQ7VWFsS1I7WUEyc0J3QixrQkFBa0I7WUFDbEIsU0FBUztZQUNULFlBQVksRUFBQSxFQUVuQjtFQS9zQmpCO0ladVdJLHFDQUFnQztJQXVCNUIsV1lxVjJKO0laclUvSixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUaFlhO0lTaVliLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllvVDBJO0lablQxSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWXNSeUs7UVpyUnpLLHNEQUFrRSxFQUFBLEVZc1JqRTtJWmpSTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSeGJvQjtRUTBiaEIscUJSaGNDO1FRb2NMLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QlRsY1M7TVNzY0wscUJUdGNLO01Td2NULDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxzQ1IxZW9CO01RNGV4QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDUnZmb0IsRUFBQTtJUTJmNUI7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0laNmxCSSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7SUFDbkI7TUFDSSxZSDlSVTtNRytSVixpQ1J6YitCO01RMGIvQixlSDROUTtNRzFOSixjVDFrQks7TVM4a0JULHNEUm5XYztNUW1XZCw4Q1JuV2M7TVFtV2Qsc0NSbldjO01RbVdkLDhEUm5XYyxFQUFBO0lRc1dkO01BR1EsY1J2bUJDO01RMm1CTCxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLHNEUi9XVTtNUStXViw4Q1IvV1U7TVErV1Ysc0NSL1dVO01RK1dWLDhEUi9XVSxFQUFBO0lRbVhkO01BQ0ksY1I1bEJxQjtNUTZsQnJCLDhDUnJYVTtNUXFYVixzQ1JyWFUsRUFBQTtFb0JyUXRCO0laMGtFSSx5QlZydkRpRTtJVXN2RGpFLHlCUi84RFU7SVFpOUROLGdCVm5rRWEsRUFBQTtJVXNrRWI7TUFDSSxZSHB5REQsRUFBTztJR3d5RFY7TUFDSSxjUjE5REUsRUFBQTtJUSs5RE47TUFDSSxZSC95REQ7TUdnekRDLGNSaitERSxFQUFBO0lRbytEVjtNQUNJLGNScitETSxFQUFBO0VvQjVIZDtJWjBrRUkseUJWcnZEaUU7SVVzdkRqRSx5QlIvOERVO0lRaTlETixnQlZua0VhLEVBQUE7SVVza0ViO01BQ0ksWUhweURELEVBQU87SUd3eURWO01BQ0ksY1IxOURFLEVBQUE7SVErOUROO01BQ0ksWUgveUREO01HZ3pEQyxjUmorREUsRUFBQTtJUW8rRFY7TUFDSSxjUnIrRE0sRUFBQTtFb0I1SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWXVXa0w7SVp2VnRMLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Z0RWlFO0lVdUVqRSx5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQllzVWlLO0laclVqSyxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWXdTZ007UVp2U2hNLHNEQUFrRSxFQUFBLEVZd1NqRTtJWm5TTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSMVVFO1FRNFVFLHFCUjVVRjtRUWdWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1RqY1M7TVNrY1QseUJSeGRTO01RNGRMLHFCUjVkSztNUThkVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwsc0NSMWVvQjtNUTRleEIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1J2Zm9CLEVBQUE7SVEyZjVCO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RW9CdFF0QjtJWnFtRUkseUJWaHhEaUU7SVVpeERqRSx5QlJoL0RVO0lRay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY1IzL0RFLEVBQUE7SVFnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjUmxnRUUsRUFBQTtJUXFnRVY7TUFDSSxjUnRnRU0sRUFBQTtFb0J0SGQ7SVpxbUVJLHlCVmh4RGlFO0lVaXhEakUseUJSaC9EVTtJUWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNSMy9ERSxFQUFBO0lRZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY1JsZ0VFLEVBQUE7SVFxZ0VWO01BQ0ksY1J0Z0VNLEVBQUE7RW9CdEhkO0ladVdJLHFDQUFnQztJQXVCNUIsV1lxWGtMO0lacld0TCxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNWdEVpRTtJVXVFakUseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZb1ZpSztJWm5Wakssa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUOUpnQztJU2lLaEMscUJIa2N5RTtJR2pjekUsaUJIOGJ3QjtJRzNieEIscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlzVGdNO1FaclRoTSxzREFBa0UsRUFBQSxFWXNUakU7SVpqVEw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNUamNTO01Ta2NULHlCUnhkUztNUTRkTCxxQlI1ZEs7TVE4ZFQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHNDUjFlb0I7TVE0ZXhCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NSdmZvQixFQUFBO0lRMmY1QjtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVpxbUVJLHlCVmh4RGlFO0lVaXhEakUseUJSaC9EVTtJUWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNSMy9ERSxFQUFBO0lRZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY1JsZ0VFLEVBQUE7SVFxZ0VWO01BQ0ksY1J0Z0VNLEVBQUE7RW9CdEhkO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnVXSSxxQ0FBZ0M7SUF1QjVCLFdZb1lzTTtJWnBYMU0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVGhZYTtJU2lZYiwwQ1I3VytDO0lROFcvQyxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQlltV3FMO0labFdyTCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWXFVb047UVpwVXBOLHNEQUFrRSxFQUFBLEVZcVVqRTtJWmhVTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJUM2FLO1FTNmFELHFCUnhWRjtRUTRWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BRUkseUJSeGRTO01RNGRMLHFCUjVkSztNUThkVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwsc0NSMWVvQjtNUTRleEIsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxzQ1J2Zm9CLEVBQUE7SVEyZjVCO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RW9CdFF0QjtJWmdvRUkseUJWM3lEaUU7SVU0eURqRSx5QlJqaEVVO0lRbWhFTixnQlZ6bkVhLEVBQUE7SVU0bkVaO01BQ0csWUg1MURDLEVBQU87SUdnMkRaO01BQ0ksY1I1aEVFLEVBQUE7SVFpaUVOO01BQ0ksWUh2MkRDO01HdzJERCxjUm5pRUUsRUFBQTtJUXNpRVY7TUFDSSxjUnZpRU0sRUFBQTtFb0JoSGQ7SVpnb0VJLHlCVjN5RGlFO0lVNHlEakUseUJSamhFVTtJUW1oRU4sZ0JWem5FYSxFQUFBO0lVNG5FWjtNQUNHLFlINTFEQyxFQUFPO0lHZzJEWjtNQUNJLGNSNWhFRSxFQUFBO0lRaWlFTjtNQUNJLFlIdjJEQztNR3cyREQsY1JuaUVFLEVBQUE7SVFzaUVWO01BQ0ksY1J2aUVNLEVBQUE7RW9CaEhkO0ladVdJLHFDQUFnQztJQXVCNUIsV1lpWnNNO0laalkxTSxvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixpREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUaFlhO0lTaVliLDBDUjdXK0M7SVE4Vy9DLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWWdYcUw7SVovV3JMLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVDlKZ0M7SVNpS2hDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01hdktSO1FaNmJRLFlZa1ZvTjtRWmpWcE4sc0RBQWtFLEVBQUEsRVlrVmpFO0laN1VMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlQzYUs7UVM2YUQscUJSeFZGO1FRNFZGLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFFSSx5QlJ4ZFM7TVE0ZEwscUJSNWRLO01ROGRULDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxzQ1IxZW9CO01RNGV4QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDUnZmb0IsRUFBQTtJUTJmNUI7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0lBdXhCWSxrQkFBa0IsRUFBQTtJYmhuQnRCO01hdktSO1FBeXhCZ0Isb0JBQW9CLEVBQUEsRUErQjNCO0lBeHpCVDtNQTR4QmdCLG1CQUFtQjtNQUNuQixjdEJ4Y3FEO01zQnljckQsbUJYanRCZ0Q7TVdrdEJoRCxnQkFBZ0I7TUFDaEIseUJBQXlCLEVBQUE7TWJ6bkJqQztRYXZLUjtVQWt5Qm9CLG1CQUFtQixFQUFBLEVBRTFCO0lBcHlCYjtNQXN5QmdCLG1CQUFtQjtNQUNuQixjckI1d0JDO01xQjZ3QkQsbUJYM3RCZ0Q7TVc0dEJoRCxnQkFBZ0IsRUFBQTtJQXp5QmhDO01BNHlCZ0IsbUJBQW1CO01BQ25CLFVBQVU7TUFDVixtQlhqdUJnRDtNV2t1QmhELGdCQUFnQixFQUFBO01ieG9CeEI7UWF2S1I7VUFrekJvQixlQUFlLEVBQUEsRUFFdEI7SUFwekJiO01Bc3pCZ0IsY3BCOXlCQyxFQUFBO0VvQlJqQjtJQTB6QlksV0FBVztJQUNYLGtCQUFrQixFQUFBO0licHBCdEI7TWF2S1I7UUE2ekJnQixnQkFBZ0IsRUFBQSxFQUV2QjtFQS96QlQ7SUFpMEJZLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7RUF2MEIvQjtJQTAwQlksa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhLEVBQUE7SUEzMEJ6QjtNQTYwQmdCLFlmNWlCQztNZTZpQkQsaUNwQnJxQnVCO01vQnNxQnZCLGVBQWU7TUFDZixjckJyekJDLEVBQUE7RXFCM0JqQjtJQW8xQlksa0JBQWtCLEVBQUE7SUFwMUI5QjtNQXMxQmdCLFlmaGhCUDtNZWloQk8saUNwQjlxQnVCO01vQitxQnZCLGdCQUFnQjtNQUNoQixjdEJwZ0JxRCxFQUFBO0VzQnJWckU7SVp1V0kscUNBQWdDO0lBeUI1QixZWThkZ007SVpoZHBNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RoWWE7SVNpWWIsMENSN1crQztJUThXL0MsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZK2JxTDtJWjlickwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUOUpnQztJU2lLaEMscUJIa2N5RTtJR2pjekUsaUJIOGJ3QjtJRzNieEIscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlpYWdNO1FaaGFoTSxzREFBa0UsRUFBQSxFWWlhakU7SVo1Wkw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCVDNhSztRUzZhRCxxQlJ4VkY7UVE0VkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCUnhkUztNUTRkTCxxQlI1ZEs7TVE4ZFQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHNDUjFlb0I7TVE0ZXhCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NSdmZvQixFQUFBO0lRMmY1QjtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVp1V0kscUNBQWdDO0lBeUI1QixZWWllcUo7SVpuZHpKLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1RoWWE7SVNpWWIseUJSdlphO0lRd1piLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWWtjMEk7SVpqYzFJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUVYLHlCVDlKZ0M7SVNpS2hDLHFCSGtjeUU7SUdqY3pFLGlCSDhid0I7SUczYnhCLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01hdktSO1FaNmJRLFlZb2FxSjtRWm5hckosc0RBQWtFLEVBQUEsRVlvYWpFO0laL1pMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ4Ym9CO1FRMGJoQixxQlJoY0M7UVFvY0wscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVGxjUztNU3NjTCxxQlR0Y0s7TVN3Y1QsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHNDUjFlb0I7TVE0ZXhCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NSdmZvQixFQUFBO0lRMmY1QjtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBOztBb0JpbUJ0QjtFQUNJLFdBQVc7RUFFWCxZZnpCVztFZTBCWCx5QnJCNW1CaUQsRUFBQTtFUXhGN0M7SWFnc0JSO01BTVEsc0JmM0JpQixFQUFBLEVlcUZ4QjtFQWhFRDtJQVdRLGVBQWU7SUFDZixXZmhQUTtJZWlQUixpQmY3T1csRUFBQTtJRWhlWDtNYWdzQlI7UUFlWSxnQkFBZ0I7UUFDaEIsWWZuUE07UWVvUE4saUJmaFBPLEVBQUEs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RUFBQTtFZDFDM0U7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VBM0ViO0lBMkZ3QixpQmhCdTlEUDtJZ0JyOURXLGtCaEJxOURYLEVBQUE7RUU5Z0VUO0ljcENSO01BNkc0QixpQmhCeE9QO01nQjBPVyxrQmhCMU9YLEVBQUEsRWdCNE9JO0VBakh6QjtJQTJGd0IsZ0JoQnc5RFI7SWdCdDlEWSxpQmhCczlEWixFQUFBO0VFL2dFUjtJY3BDUjtNQTZHNEIsZ0JoQmc5RFo7TWdCOThEZ0IsaUJoQjg4RGhCLEVBQUEsRWdCNThEUztFQWpIekI7SUEyRndCLGdCaEJ5OURSO0lnQnY5RFksaUJoQnU5RFosRUFBQTtFRWhoRVI7SWNwQ1I7TUE2RzRCLGdCaEJpOURaO01nQi84RGdCLGlCaEIrOERoQixFQUFBLEVnQjc4RFM7RUFqSHpCO0lBMkZ3QixnQmhCMDlEUjtJZ0J4OURZLGlCaEJ3OURaLEVBQUE7RUVqaEVSO0ljcENSO01BNkc0QixnQmhCazlEWjtNZ0JoOURnQixpQmhCZzlEaEIsRUFBQSxFZ0I5OERTO0VBakh6QjtJQTJGd0IsZ0JoQjI5RFI7SWdCejlEWSxpQmhCeTlEWixFQUFBO0VFbGhFUjtJY3BDUjtNQTZHNEIsZ0JoQm05RFo7TWdCajlEZ0IsaUJoQmk5RGhCLEVBQUEsRWdCLzhEUztFQWpIekI7SUEyRndCLGdCaEI0OURSO0lnQjE5RFksaUJoQjA5RFosRUFBQTtFRW5oRVI7SWNwQ1I7TUE2RzRCLGdCaEJvOURaO01nQmw5RGdCLGlCaEJrOURoQixFQUFBLEVnQmg5RFM7RUFqSHpCO0lBMkZ3QixnQmhCNjlEUjtJZ0IzOURZLGlCaEIyOURaLEVBQUE7RUVwaEVSO0ljcENSO01BNkc0QixnQmhCcTlEWjtNZ0JuOURnQixpQmhCbTlEaEIsRUFBQSxFZ0JqOURTO0VBakh6QjtJQTJGd0IsZ0JoQjg5RFI7SWdCNTlEWSxpQmhCNDlEWixFQUFBO0VFcmhFUjtJY3BDUjtNQTZHNEIsZ0JoQnM5RFo7TWdCcDlEZ0IsaUJoQm85RGhCLEVBQUEsRWdCbDlEUztFQWpIekI7SUF1SWdCLHlCdEIvT0M7SXNCZ1BELDZCckJ6UUs7SXFCMFFMLDREckJOTTtJcUJNTixvRHJCTk0sRUFBQTtJcUJuSXRCO01BNkl3QixjckIzUVA7TXFCNFFPLDhCckJYRjtNcUJXRSxzQnJCWEYsRUFBQTtJcUJuSXRCO01Ba0pvQix5QnJCaFJIO01xQmlSRyxxQnRCM1BIO01zQjRQRyw0RHJCbEJFO01xQmtCRixvRHJCbEJFLEVBQUE7TXFCbEl0QjtRQXVKNEIsY3RCL1BYO1FzQmdRVyw4QnJCdEJOO1FxQnNCTSxzQnJCdEJOLEVBQUE7RXFCbEl0QjtJQStLZ0IsZ0J2QnhTSztJdUIwU1Q7OzthekJvcFZDO0l5QmhwVkQsZ0JBQWdCO0lBRVosZ0NyQnBETTtJcUJvRE4sd0JyQnBETSxFQUFBO0VxQm5JdEI7SUFrTW9CLFloQmky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MXlDa0M7SXFCMnlDbEMsc0NyQm56Q007SXFCbXpDTiw4QnJCbnpDTSxFQUFBOztBcUJ5eEN0QjtFQWdDb0IsVUFBVTtFQUNWLGtEQUFrRTtFQUNsRSxzQ3JCNXpDRTtFcUI0ekNGLDhCckI1ekNFLEVBQUE7RXFCMHhDdEI7SUFvQ3dCLGtEQUFrRTtJQUNsRSxzQ3JCL3pDRjtJcUIrekNFLDhCckIvekNGLEVBQUE7O0FxQjB4Q3RCO0VBNkNnQixVQUFVO0VBQ1Ysa0RBQWtFO0VBQ2xFLHNDckJ6MENNO0VxQnkwQ04sOEJyQnowQ00sRUFBQTtFcUIweEN0QjtJQWlEb0Isb0RBQW9FO0lBQ3BFLHNDckI1MENFO0lxQjQwQ0YsOEJyQjUwQ0UsRUFBQTs7QXFCMHhDdEI7RUEyRFksNkJyQnhsRFM7RXFCeWxEVCw0RHJCNTBDeUM7VXFCNDBDekMsb0RyQjUwQ3lDO0VxQjYwQ3pDLDhEckJ0MUNVO0VxQnMxQ1Ysc0RyQnQxQ1U7RXFCczFDViw4Q3JCdDFDVTtFcUJzMUNWLHVFckJ0MUNVLEVBQUE7RXFCeXhDdEI7SUErRGdCLHFCckJubERDO0lxQm9sREQsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQiw4RHJCMzFDTTtJcUIyMUNOLHNEckIzMUNNO0lxQjIxQ04sOENyQjMxQ007SXFCMjFDTix1RXJCMzFDTSxFQUFBO0lxQjB4Q3RCO01Bb0VvQixVQUFVLEVBQUE7O0FBcEU5QjtFQWdGZ0IseURyQmoyQ2tDO1VxQmkyQ2xDLGlEckJqMkNrQyxFQUFBOztBcUJpeENsRDtFQW9GZ0IsVUFBVSxFQUFBO0VBcEYxQjtJQXNGb0IsbURBQTBDO1lBQTFDLDJDQUEwQztJQUMxQywwQ3JCajNDRTtJcUJpM0NGLGtDckJqM0NFO0lxQmkzQ0YsMEJyQmozQ0U7SXFCaTNDRixrRHJCajNDRSxFQUFBOztBcUIweEN0QjtFQStGZ0IsZ0J2QnBuREs7RXVCc25EVCwwQ3JCMTNDVTtFcUIwM0NWLGtDckIxM0NVO0VxQjAzQ1YsMEJyQjEzQ1U7RXFCMDNDVixrRHJCMTNDVSxFQUFBOztBcUJ5eEN0QjtFQXVHWSx5QnJCM25ESyxF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Q1gsZ0JBVm1EO0lBV25ELGtCQUFrQjtJQUNsQixjUnJMYTtJUXNMYix5QlRoS2E7SVNrS2IsNkJSM0xpQjtJUTRMakIscUJBQXFCO0lBQ3JCLDRCUnNFa0I7SVF0RWxCLG9CUnNFa0IsRUFBQTtJUXJFbEI7TUFDSSx5QlR0S1M7TVN1S1Qsd0NUdktTO01Td0tULGNUeEtTO01TeUtULDRCUmtFYztNUWxFZCxvQlJrRWMsRUFBQTtJUWhFbEI7TUFDSSxhQUFhO01BQ2IseUJSdE1hO01RdU1iLDREUnNFNkM7Y1F0RTdDLG9EUnNFNkMsRUFBQTtFdUIzRXJEO0lBY1EsV0FBVztJQUNYLFlBQVk7SUFDWixjQUFjO0lmeVlsQixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0llellmLDRCdkJnRGM7SXVCaERkLG9CdkJnRGMsRUFBQTtJUTBWbEI7TUFDSSxZSDlSVTtNRytSVixpQ1J6YitCO01RMGIvQixlSDROUTtNRzFOSixjUjFsQks7TVE4bEJULHNEUm5XYztNUW1XZCw4Q1JuV2M7TVFtV2Qsc0NSbldjO01RbVdkLDhEUm5XYyxFQUFBO0lRc1dkO01BR1EsY1J2bUJDO01RMm1CTCxnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLHNEUi9XVTtNUStXViw4Q1IvV1U7TVErV1Ysc0NSL1dVO01RK1dWLDhEUi9XVSxFQUFBO0lRbVhkO01BQ0ksY1I1bEJxQjtNUTZsQnJCLDhDUnJYVTtNUXFYVixzQ1JyWFUsRUFBQTs7QUorbFp0QjtFMkJ4b1pJLGFBQWEsRUFBQTs7QUM1T2pCO0VBQ0ksV0FBVztFQUNYLGFBQWE7RUFDYixTbkIrckhXLEVBQUE7RUVoaEhQO0lpQmxMUjtNQU9RLHVCQUF1QjtNQUN2QixvRkFBOEc7TUFFOUcsU25CeXJIUTtNbUJ2ckhSLG1CQUFtQixFQUFBLEVBNkQxQjtFakI4R087SWlCdkxSO01BZ0JRLDJEQUEyRDtNQUMzRCxTbkJtckhPLEVBQUEs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O0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQlJ0YVM7SVEwYWIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TW1CMkRSO1FsQjJOUSxXa0I1SjJRO1FsQjZKM1EsNENBQWtFLEVBQUEsRWtCNUpqRTtJbEJpS0w7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUnZadUM7UVF5Wm5DLHFCUnpabUM7UVE2WnZDLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QlJ6WlM7TVEyWkwscUJSM1pLO01RK1pULDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxzQ1IxZW9CO01RNGV4QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDUnZmb0IsRUFBQTtJUTJmNUI7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEJwQ3RCO0lBa0VZLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGdCckJxMEhnQztJcUJwMEhoQyxtQmpCM05vRDtJaUI0TnBELHlCckJvMEh5QyxFQUFBOztBcUIxekhyRDtFQUVRLGdCQUFnQixFQUFBOztBQUl4QjtFQUdZLFlyQnJCUSxFQUFPOztBcUJrQjNCO0VBUVksWXJCM0JJLEVBQU87O0FxQmdDdkI7RUFDSSxXQUFXO0VBQ1gsbUJyQnV1SCtDO0VxQnR1SC9DLFVBQVUsRUFBQTtFQUhkO0lBS1EsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGMzQnBUUztJMkJxVFQsb0JqQm5Rd0Q7SWlCb1F4RCxnQnJCbXVIb0M7SXFCbHVIcEMseUJyQmd1SHVDLEVBQUE7SXFCNXVIL0M7TUFjWSxxQkFBcUI7TUFDckIsaUJBQWlCO01BQ2pCLGMxQnZTdUM7TTBCd1N2QyxpQzFCOUsyQjtNMEIrSzNCLG9CakIzUW9ELEVBQUE7RWlCeVBoRTtJQXNCUSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYixzQkFBa0I7UUFBbEIsa0JBQWtCO0lBQ2xCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWix5QjFCN1ZTO0kwQitWTCxnQjVCMVZTLEVBQUE7STRCNFRyQjtNQWlDWSxjQUFjO01BQ2QsZ0JBQWdCO01BQ2hCLFVBQVUsRUFBQTtFQW5DdEI7SUF1Q1EsWXJCd3NIMEI7SXFCdnNIMUIsU0FBUztJQUNULGtCQUFrQjtJQUNsQiw2QjFCOVdhO0kwQitXYixTQUFTO0lBQ1Qsb0JqQnJTd0Q7SWlCc1N4RCxjMUIzV1MsRUFBQTtJMEI4VGpCO01BK0NZLHdCQUFnQjtjQUFoQixnQkFBZ0IsRUFBQTtJQS9DNUI7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG9CakI1U29EO01pQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01Ba0RZLHlCckIwckhtQztNcUJ6ckhuQyxvQmpCNVNvRDtNaUI2U3BELHNCQUFzQixFQUFBO0lBcERsQztNQWtEWSx5QnJCMHJIbUM7TXFCenJIbkMsb0JqQjVTb0Q7TWlCNlNwRCxzQkFBc0IsRUFBQTtJQXBEbEM7TUFrRFkseUJyQjBySG1DO01xQnpySG5DLG9CakI1U29EO01pQjZTcEQsc0JBQXNCLEVBQUE7SUFwRGxDO01Ba0RZLHlCckIwckhtQztNcUJ6ckhuQyxvQmpCNVNvRDtNaUI2U3BELHNCQUFzQixFQUFBO0lBcERsQztNQXVEWSxlQUFlO01BQ2YseUIxQi9VdUMsRUFBQTtFMEJ1Um5EO0lsQmlDSSxxQ0FBZ0M7SUF5QjVCLFdrQkl3SztJbEJVNUssb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLDJDQUErQztJQUMvQyxjUnRaYTtJUXVaYix1QlI5VmlFO0lRK1ZqRSxpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQkE5Q3FCO0lBK0NyQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHemJ4QixxQlJsYVM7SVFvYWIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TW1CK0pSO1FsQnVIUSxXa0J6RHdLO1FsQjBEeEssNENBQWtFLEVBQUEsRWtCekRqRTtJbEI4REw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUmxZSztRUXNZRCxxQlJ0WUM7UVF3WUwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCUjlhMkM7TVFrYnZDLHFCUmxidUM7TVFvYjNDLDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxzQ1IxZW9CO01RNGV4QixtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHNDUnZmb0IsRUFBQTtJUTJmNUI7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEJnRXRCO0lsQmlDSSxxQ0FBZ0M7SUF5QjVCLFdrQk95SztJbEJPN0ssb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLDJDQUErQztJQUMvQyxjUnRaYTtJUXVaYix5QlJwVVU7SVFxVVYsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JBOUNxQjtJQStDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUOUpnQztJU2lLaEMscUJIa2N5RTtJR2pjekUsaUJIOGJ3QjtJR3pieEIscUJSbGFTO0lRb2FiLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01tQitKUjtRbEJ1SFEsV2tCdER5SztRbEJ1RHpLLDRDQUFrRSxFQUFBLEVrQnREakU7SWxCMkRMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ6YXFCO1FRNmFqQixxQlI3YWlCO1FRK2FyQixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJSOWEyQztNUWtidkMscUJSbGJ1QztNUW9iM0MsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHNDUjFlb0I7TVE0ZXhCLG1CQUFtQixFQUFBO0lBT3ZCO01BSVEsc0NSdmZvQixFQUFBO0lRMmY1QjtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0UwQmdFdEI7SWxCd2xESSxp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dUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVGhZYTtJU2lZYix5QlJ2WmE7SVF3WmIsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JIa2tINkI7SUdqa0g3QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHemJ4QixxQlJsYVM7SVFvYWIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCO0lRMFFkOzs7Ozs7OztTWnFrZEM7SThCdm9kRCxtQkFBbUIsRUFBQTtJbkJ2U25CO01tQjRQUjtRbEIwQlEsMEJrQmdCa087UWxCaEJsTyx1QmtCZ0JrTztRbEJoQmxPLGtCa0JnQmtPO1FsQmZsTyw0Q0FBa0UsRUFBQSxFa0JpQnJFO0lsQlpEO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJsWUs7UVFzWUQscUJSdFlDO1FRd1lMLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVEwTU47VUFDQyxjUjNjQTtVUTRjQSw4QlI1TUs7VVE0TUwsc0JSNU1LLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFFSSx5QlRsY1M7TVNzY0wscUJUdGNLO01Td2NULDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFFUSxjUjNkcUI7TVFnZXJCLHlCUjVlSztNUW1mTCxzQ1IxZW9CO01RNGV4QixtQkFBbUIsRUFBQTtNQUVmO1FBQ0MsY1Z4S3dELEVBQUE7SVU0S2pFO01BSVEsc0NSdmZvQixFQUFBO0lRMmY1QjtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVFpUjdDO01BQ0ksWUh6UEE7TUcwUEEsa0JrQjlGa0I7TWxCK0ZsQixpQ1IxWDJCO01RMlgzQixlSCs5R21EO01HMTlHbkQsY1J4aEJxQjtNUXloQnJCLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTBCNkp0QjtJbEI1REkscUNBQWdDO0lBdUI1QixXa0IrRnlLO0lsQmpGN0ssZ0JrQmlGaU87SWxCaEZqTyxZa0JnRitNO0lsQi9FL00sb0JrQitFOFA7SWxCL0U5UCxvQmtCK0U4UDtJbEIvRTlQLGFrQitFOFA7SWxCN0UxUCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVGhZYTtJU2lZYix5QlJ2WmE7SVF3WmIsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JIa2tINkI7SUdqa0g3QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFFWCx5QlQ5SmdDO0lTaUtoQyxxQkhrY3lFO0lHamN6RSxpQkg4YndCO0lHemJ4QixxQlJsYVM7SVFvYWIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCO0lRMFFkOzs7Ozs7OztTWnFwZEM7SThCdnNkRCxtQkFBbUIsRUFBQTtJbkJ2VG5CO01tQjRQUjtRbEIwQlEsMEJrQmdDNkw7UWxCaEM3TCx1QmtCZ0M2TDtRbEJoQzdMLGtCa0JnQzZMO1FsQi9CN0wsNENBQWtFLEVBQUEsRWtCaUNyRTtJbEI1QkQ7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUmxZSztRUXNZRCxxQlJ0WUM7UVF3WUwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUTBNTjtVQUNDLGNSM2NBO1VRNGNBLDhCUjVNSztVUTRNTCxzQlI1TUssRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtk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LGdCdEJ5cUlrQztJc0J4cUlsQyxjN0I2VjZEO0k2QjVWN0QsbUJsQm9Gd0Q7SWtCbkZ4RCxnQnRCcXFJa0MsRUFBQTtFc0I1cUkxQztJQVVRLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTs7QUFJekI7RUFJWSxZdEI0Zk0sRUFBTzs7QXNCaGdCekI7RUFRZ0IsWXRCaWZLLEVBQU87O0FzQnpmNUI7RUFhZ0IsWXRCbWVLLEVBQU87O0FzQmhmNUI7RUFrQmdCLFl0QnFlRSxFQUFPOztBc0J2ZnpCO0VBdUJnQixZdEJnZEksRUFBTzs7QXNCdmUzQjtFQTRCZ0IsWXRCcWRTLEVBQU87O0FzQmpmaEM7RUFpQ2dCLFl0QndjSSxFQUFPOztBc0J6ZTNCO0VBc0NnQixZdEJrZE8sRUFBTzs7QXNCeGY5QjtFQTJDZ0IsWXRCc2RlO0VzQnJkZixjM0JzRnlCLEVBQUE7O0EyQmxJekM7RUFpRGdCLFl0QjRjYztFc0IzY2QsYzNCZ0Z5QixFQUFBOztBMkJsSXpDO0VBd0RnQixZdEJ1Y1UsRUFBTzs7QXNCL2ZqQztFQThEZ0IsWXRCb1BRO0VzQm5QUixtQzNCeUcyQixFQUFBOztBMkJ4SzNDO0VBdUVnQixZdEI0YUosRUFBTzs7QXNCbmZuQjtFQStFZ0IsWXRCMlpDLEVBQU87O0FzQjFleEI7RUFxRmdCLFl0Qm1aSyxFQUFPOztBc0J4ZTVCO0VBMEZnQixZdEJtWkUsRUFBTzs7QXNCN2V6QjtFQStGZ0IsWXRCMlpNLEVBQU87O0FzQjFmN0I7RUFvR2dCLFl0QnVaVSxFQUFPOztBc0IzZmpDO0VBNEdnQixZdEJnWVEsRUFBTzs7QXNCNWUvQjtFQWlIZ0IsWXRCMllEO0VzQjFZQyxjM0JpQm9CLEVBQUE7O0EyQm5JcEM7RUEwSGdCLFl0Qm9YRCxFQUFPOztBc0I5ZXRCO0VBK0hnQixZdEJtWGEsRUFBTzs7QXNCbGZwQztFQW9JZ0IsWXRCa1hHLEVBQU87O0FzQnRmMUI7RUF5SWdCLFl0QjRXRSxFQUFPOztBc0JyZnpCO0VBOElnQixZdEJpV0UsRUFBTzs7QXNCL2V6QjtFQW1KZ0IsWXRCK1dLLEVBQU87O0FzQmxnQjVCO0VBd0pnQixZdEJzV2M7RXNCcldkLGMzQnZCeUIsRUFBQTs7QTJCbEl6QztFQStKZ0IsWXRCMldhO0VzQjFXYixrQzNCTXlCO0UyQkx6QixjM0I3QnFCLEVBQUE7O0EyQnBJckM7RUF1S2dCLFl0Qm9XSztFc0JuV0wsYzNCcENxQixFQUFBOztBMkJwSXJDO0VBOEtnQixZdEIyVUs7RXNCMVVMLGMzQjNDcUIsRUFBQTs7QTJCcElyQztFQXFMZ0IsWXRCNFBpQjtFc0IzUGpCLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixpQzNCcEJ1QjtFMkJxQnZCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsbUR0Qm1tSThCO0VzQmxtSTlCLDBCdEI4bElnQjtFc0I3bEloQixxRDNCbUVNO0UyQm5FTiw2QzNCbUVNLEVBQUE7O0EyQm5RdEI7RUFzTWdCLFl0QnVUYztFc0J0VGQsYzNCckV5QixFQUFBOztBMkI2RXpDO0VBR1EsZ0JBQWdCLEVBQUE7RXBCN0NoQjtJb0IwQ1I7TUFLWSxhQUFhLEVBQUEsRUFpQnBCO0VBdEJMO0lBU2dCLFNBQVM7SUFDVCxZQUFZLEVBQUE7SUFWNUI7TUFZb0IsZUFBbUcsRUFBQTtNQVp2SDtRQWN3QixvQkFBMkcsRUFBQTtFQWRuSTtJQW9CWSxrQkFBa0IsRUFBQTs7QUFLOUI7RUFDSSxtQkFBbUIsRUFBQTs7QUFHdkI7RUFHUSxtQkFBbUIsRUFBQTs7QUFIM0I7RUFNUSxZQUFZO0VBQ1osZUFBZSxFQUFBO0VBUHZCO0lBV2dCLHdDQUF3QyxFQUFBO0VBWHhEO0lBZVksWUFBWTtJQUNaLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGFBQVM7SUFDVCxjM0IxUEs7STJCMlBMLHlCM0J6T3FCO0kyQjBPckIseUIzQjFPcUI7STJCMk9yQix5QzNCQ1U7STJCRFYsaUMzQkNVLEVBQUE7STJCeEJ0QjtNQXlCZ0IseUI1QjVPQztNNEI2T0QscUI1QjdPQyxFQUFBO000Qm1OakI7UUE0Qm9CLGMzQnJRSDtRMkJzUUcsOEIzQk5FO1EyQk1GLHNCM0JORSxFQUFBO00yQnZCdEI7UUFnQ29CLDBDQUFPO1FBQ1AsOEIzQlZFO1EyQlVGLHNCM0JWRSxFQUFBO0UyQnZCdEI7SUF1Q1ksbUJBQU87UUFBUCxXQUFPO1lBQVAsT0FBTztJQUNQLGMzQjlRSztJMkIrUUwsZ0J0QnlsSVM7SXNCeGxJVCw4QjNCbEJVO0kyQmtCVixzQjNCbEJVLEVBQUE7RTJCeEJ0QjtJQTZDWSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0lBaEQvQjtNQWtEZ0IsdUIzQnpFa0I7TTJCMkVsQixnQkFBZ0I7TUFDaEIsd0NBQU87TUFDUCxjQUFjO01BQ2QsOEIzQi9CTTtNMkIrQk4sc0IzQi9CTSxFQUFBO0UyQnhCdEI7SUE4RGdCLHFDdEJ3L0hjO0lzQnYvSGQsd0N0Qm0vSDRCO0lzQmwvSDVCLHFEM0J6Q007STJCeUNOLDZDM0J6Q00sRUFBQTs7QTJCdkJ0QjtFQXFFUSxldEI4bklTLEVBQUE7RXNCbnNJakI7SUF1RVksY3RCNm5JWSxFQUFBO0VzQnBzSXhCO0lBMEVZLGV0QjJuSVksRUFBQTtFc0Jyc0l4QjtJQTZFWSxldEJ5bklVLEVBQUE7RXNCdHNJdEI7SUFnRlksZXRCdW5Jc0IsRUFBQTtFc0J2c0lsQztJQW1GWSxldEJvbklzQixFQUFBO0VzQnZzSWxDO0lBc0ZZLGV0QmtuSUksRUFBQTs7QXNCN21JaEI7RUFHWSxlQUFlLEVBQUE7O0FBSDNCO0VBT1Esb0JBQW9CO0VBQ3BCLGtCbEJwUXdELEVBQUE7RUYwRnhEO0lvQmtLUjtNQVVZLG9CbEJ0UW9ELEVBQUEsRWtCd1EzRDs7QUFHTDtFQUVRLGlCdEJtaEk0QixFQUFBO0VzQnJoSXBDO0lBSVksY0FBYztJQUNkLHVCdEJpaElxQyxFQUFBOztBc0J0aElqRDtFQVVZLGV0Qm1qSVksRUFBQTs7QXNCN2pJeEI7RUFhWSxldEJpaklhLEVBQUE7O0FzQjlqSXpCO0VBZ0JZLGV0QitpSVksRUFBQTs7QXNCL2pJeEI7RUFtQlksZXRCNmlJUSxFQUFBOztBc0Joa0lwQjtFQXNCWSxldEIyaUlTLEVBQUE7O0FzQmprSXJCO0VBeUJZLGV0QnlpSWdCLEVBQUE7O0FzQmxrSTVCO0VBNEJZLGV0QnVpSVUsRUFBQTs7QXNCbmtJdEI7RUErQlksZXRCcWlJTyxFQUFBOztBc0Jwa0luQjtFQWtDWSxldEJtaUlVLEVBQUE7O0FzQnJrSXRCO0VBcUNZLGV0QmlpSWEsRUFBQTs7QXNCdGtJekI7RUF3Q1ksZXRCK2hJaUIsRUFBQTs7QXNCdmtJN0I7RUEyQ1ksZXRCNmhJcUIsRUFBQTs7QXNCeGtJakM7RUE4Q1ksZXRCMmhJVyxFQUFBOztBc0J6a0l2QjtFQWlEWSxldEJ5aElVLEVBQUE7O0FzQjFrSXRCO0VBb0RZLGV0QnVoSUksRUFBQTs7QXNCM2tJaEI7RUF1RFksZXRCcWhJVSxFQUFBOztBc0I1a0l0QjtFQTBEWSxldEJtaEllLEVBQUE7O0FzQjdrSTNCO0VBNkRZLGV0QmloSWEsRUFBQTs7QXNCOWtJekI7RUFnRVksZXRCK2dJYyxFQUFBOztBc0Iva0kxQjtFQW1FWSxldEI2Z0lrQixFQUFBOztBc0JobEk5QjtFQXNFWSxldEIwZ0lrQixFQUFBOztBc0JobEk5QjtFQXlFWSxldEJ5Z0lzQixFQUFBOztBc0JsbElsQztFQTRFWSxldEJ1Z0lzQixFQUFBOztBc0JubElsQztFQStFWSxldEJzZ0lrQixFQUFBOztBc0JqZ0k5QjtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG1CQUFlO01BQWYsZUFBZTtFQUNmLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCLEVBQUE7RXBCelFuQjtJb0JxUVI7TUFNUSxnQnRCeXVIeUIsRUFBQSxFc0I1ckhoQztFQW5ERDtJQVNRLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixjQUFjLEVBQUE7SXBCbFJkO01vQnFRUjtRQWVZLFdBQ0k7UUFDSixZQUFZO1FBQ1osU0FBUyxFQUFBLEVBZ0NoQjtJcEJ2VEc7TW9CcVFSO1FBc0JnQixnQkFBZ0IsRUFBQSxFQVl2QjtJcEJ2U0Q7TW9CcVFSO1FBMkJvQixZQUFZLEVBQUEsRUFFbkI7SUE3QmI7TUErQmdCLDJCQUFrQjtVQUFsQixrQkFBa0I7TUFDbEIsZ0JBQWdCLEVBQUE7SUFoQ2hDO01Bb0NZLGVBQWU7TUFDZixpQkFBaUIsRUFBQTtJQXJDN0I7TUE2Q1ksV0FBVztNQUNYLGtCQUFrQjtNQUVsQixtQkFBbUIsRUFBQTs7QUFTL0I7RUFDSSxtQkFBbUIsRUFBQTtFcEIvVGY7SW9COFRSO01BR1EsWUFBWSxFQUFBLEVBTW5CO0VBVEQ7SUFNUSxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7O0FBSy9CO0VBQ0ksV0FBVztFQUNYLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBO0VwQjlVbEI7SW9CMFVSO01BTVEsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGNBQWMsRUFBQSxFQThEckI7RUFyRUQ7SUFVUSxnQkFBZ0IsRUFBQTtJcEJwVmhCO01vQjBVUjtRQVlZLGdCQUFnQixFQUFBLEVBRXZCO0VBZEw7SUFpQlEsbUJBQW1CLEVBQUE7SXBCM1ZuQjtNb0IwVVI7UUFtQlksbUJBQW1CLEVBQUEsRUFTMUI7SXBCdFdHO01vQjBVUjtRQXdCb0IsdUJBQW1FLEVBQUEsRUFFMUU7RXBCcFdMO0lvQjBVUjtNQWdDZ0IsWUFBWTtNQUNaLGtCQUFrQjtNQUNsQixjQUFjLEVBQUEsRUFZckI7RXBCeFhEO0lvQjBVUjtNQXNDb0IsVUFBVSxFQUFBLEVBRWpCO0VwQmxYTDtJb0IwVVI7TUEyQ29CLFlBQVksRUFBQSxFQUVuQjtFQTdDYjtJQWtEUSxzQkFBc0IsRUFBQTtJcEI1WHRCO01DdXRGQTtRQUVRLGtCQUFrQixFQUFBLEVBRXpCO0lEM3RGRDtNQ2t2RkE7UUFNUSxXQUFXLEVBQUEsRUFRbEI7SUFVRztNQUNJLFlBQVksRUFBQTtJQUdwQjtNQUNJLHVCQUEyQjtVQUEzQixvQkFBMkI7Y0FBM0IsMkJBQTJCLEVBQUE7TURweEYvQjtRQ214RkE7VUFHUSxVQUFVO1VBQ1Ysa0JBQWtCLEVBQUEsRUFZekI7TUFWRztRQUNJLFNBQVMsRUFBQTtNQUViO1FBQ0ksa0JBQWtCO1FBQ2xCLGdCQUFnQixFQUFBO1FEenhGeEI7VUN1eEZJO1lBSVEsYUFBYSxFQUFBLEVBRXBCO0lBS1Q7TUFDSSx5QkFBcUIsRUFBQTtNQUNyQjtRQUVJLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsa0JBQWtCLEVBQUE7UUQxeUZ0QjtVQ295RkE7WUFRUSwwQkFBa0I7WUFBbEIsdUJBQWtCO1lBQWxCLGtCQUFrQjtZQUNsQixrQkFBa0IsRUFBQSxFQW1CekI7UUFqQkc7VUFDSSxZSC9oREEsRUFBQTtVRWp4Q1I7WUMreUZJO2NBR1EsWUh4OUZJO2NHMjlGSixjQUFjO2NBQ2QsZ0JBQWdCLEVBQUEsRUFFdkI7UUFDRDtVQUNJLFlIemlEQTtVRzBpREEseUJSeDhGaUIsRUFBQTtVTzZJekI7WUN5ekZJO2NBSVEsWUhuK0ZJLEVBQUEsRUdxK0ZYO0lBR1Q7TUFDSSxXQUFXO01BQ1gsb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWEsRUFBQTtNRHowRmI7UUN1MEZKO1VBS1EsdUJBQXVCLEVBQUEsRUFNOUI7SUFDRDtNQUNJLGNBQWM7TUFDZCxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLG1CQUFPO1VBQVAsV0FBTztjQUFQLE9BQU87TUFDUCxtQkFBZTtVQUFmLGVBQWU7TUFDZiw0QkFBc0I7TUFBdEIsNkJBQXNCO1VBQXRCLDBCQUFzQjtjQUF0QixzQkFBc0I7TUFDdEIsd0JBQXVCO1VBQXZCLHFCQUF1QjtjQUF2Qix1QkFBdUI7TUFDdkIsV0h5OUI2QjtNR3Y5QjdCLGVBQWUsRUFBQTtNRHYxRmY7UUM4MEZKO1VBV1EsZ0JBQWdCO1VBR2hCLGNBQWM7VUFDZCxlQUFlLEVBQUEsRUEwQ3RCO01BdDRDRDtRQUNJLGNSNW9EeUI7UVE2b0R6QixtQkM3bER3RDtRRDhsRHhELGdCSHVpQnNDO1FHdGlCdEMsZ0JUamhEaUIsRUFBQTtRU2toRGpCO1VBQ0ksY1RucERLO1VTb3BETCwwQkFBMEIsRUFBQTtRQUU5QjtVQUNJLGNSOW1ESyxFQUFBO01RbThGVDtRQUNJLFdBQVc7UUFDWCxjQUFjO1FBQ2QsU0FBUztRQUNULFVBQVU7UUFDVixjUi8rRnFCO1FRZy9GckIsbUJDaDhGb0Q7UURpOEZwRCxnQkgyOEJ3QjtRRzE4QnhCLG9CSHc4QjRCO1FHdjhCNUIsbUJIczhCMkI7UUdyOEIzQiw4QlIzd0ZVO1FRMndGVixzQlIzd0ZVLEVBQUE7UU8vRmQ7VUNnMkZBO1lBWVEsZ0JBQWdCLEVBQUEsRUFXdkI7UUFURztVQUNJLGNSbDlGQztVUW05RkQsOEJSbHhGTTtVUWt4Rk4sc0JSbHhGTSxFQUFBO1FRb3hGVjtVQUNJLGNULy9GQztVU2dnR0QsOEJSdHhGTTtVUXN4Rk4sc0JSdHhGTSxFQUFBO01RMHhGZDtRQUNJLGVBQWUsRUFBQTtNQUVuQjtRQUNJLGFBQWE7UUFDYiwrQlJoaEdxQjtRUWloR3JCLG9CQ3g5Rm9ELEVBQUE7UUR5OUZwRDtVQUNJLGNBQWMsRUFBQTtRQUVsQjtVQUNJLFNBQVM7VUFDVCxVQUFVLEVBQUE7SUFJdEI7TUFDSSxjUm5oR3lCO01Rb2hHekIsbUJDcCtGd0Q7TURxK0Z4RCxnQkg5b0RzQixFQUFBO0lHZ3BEMUI7TUFRSSxrQkFBa0I7TUFDbEIsb0JDaC9Gd0Q7TURpL0Z4RCxjUnRqR1MsRUFBQTtNUTZpR1Q7UUFDSSxZSDluRlE7UUcrbkZSLGtCSDhTNEI7UUc3UzVCLHVCUmoyRnNCO1FRazJGdEIsa0JBQWtCO1FBQ2xCLGNScDhGRSxFQUFBO0lPaUROO01DeTVGSjtRQU1RLFVBQVU7UUFDVixtQkFBbUIsRUFBQSxFQUUxQjtJRGw2Rkc7TUNtNkZKO1FBR1EsY0FBYztRQUNkLFdBQVcsRUFBQSxFQUVsQjtJQUNEO01BQ0ksY0FBYyxFQUFBO0lBR2xCO01BRUksZ0JIeHBEMkIsRUFBQTtNRXh4QzNCO1FDODZGSjtVQUtRLG1CQUFtQixFQUFBLEVBRTFCO0lBQ0Q7TUFDSSxnQkgvcEQyQixFQUFBO01FeHhDM0I7UUNzN0ZKO1VBSVEsbUJBQW1CLEVBQUEsRUFFMUI7SUQ1N0ZHO01DNjdGSjtRQUVRLFVBQVUsRUFBQSxFQUVqQjtJQUNEO01BRUksb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2Qix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QixFQUFBO01EdDhGdkI7UUNrOEZKO1VBV1EsVUFBVTtVQUNWLG1CQUFtQixFQUFBLEVBc0IxQjtNQXBCRztRQUNJLFdBQVcsRUFBQTtRRGo5RmY7VUNnOUZBO1lBR1EsV0FBVztZQUNYLHdCQUF1QjtnQkFBdkIscUJBQXVCO29CQUF2Qix1QkFBdUI7WUFDdkIseUJBQW1CO2dCQUFuQixzQkFBbUI7b0JBQW5CLG1CQUFtQixFQUFBLEVBRTFCO01EdjlGRDtRQ3c5RkE7VUFFUSxhQUFhLEVBQUEsRUFFcEI7TUFFRDtRQUNJLHVCQUEyQjtZQUEzQixvQkFBMkI7Z0JBQTNCLDJCQUEyQixFQUFBO1FELzlGL0I7VUM4OUZBO1lBR1Esd0JBQXVCO2dCQUF2QixxQkFBdUI7b0JBQXZCLHVCQUF1QixFQUFBLEVBRTlCO0lEbitGRDtNQ3ErRko7UUFFUSxVQUFVLEVBQUEsRUFXakI7SUFURztNQUNJLFVBQVU7TUFDViw0QkFBUTtVQUFSLGlCQUFRO2NBQVIsUUFBUTtNQUNSLGlCQUFpQixFQUFBO01ENStGckI7UUN5K0ZBO1VBS1EsV0FBVztVQUNYLDRCQUFRO2NBQVIsaUJBQVE7a0JBQVIsUUFBUSxFQUFBLEVBRWY7SUFFTDtNQUNJLFVBQVU7TUFDViw0QkFBUTtVQUFSLGlCQUFRO2NBQVIsUUFBUTtNQUVSLGdCSDl0RCtCO01HK3REL0IsY1Rwb0dTLEVBQUE7TVE0SVQ7UUNtL0ZKO1VBT1EsV0FBVztVQUNYLG1CQUFtQixFQUFBLEVBRzFCO0lEOS9GRztNQysvRko7UUFFUSxTQUFTLEVBQUEsRUFFaEI7SUFDRDtNQUNJLFVBQVU7TUFDVixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLDRCQUFRO1VBQVIsaUJBQVE7Y0FBUixRQUFRLEVBQUE7TUR4Z0dSO1FDb2dHSjtVQU1RLFdBQVc7VUFDWCxtQkFDSixFQUFBLEVBQ0g7SUFDRDtNQUNJLFdIcHZENkI7TUdxdkQ3QixZSHJ2RDZCO01Hc3ZEN0Isb0JBQWE7TUFBYixvQkFBYTtNQUFiLGFBQWE7TUFDYix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQUN2Qix5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQixrQkFBa0I7TUFDbEIsY1J4cUd5QjtNUXlxR3pCLDhCUnY3RmM7TVF1N0ZkLHNCUnY3RmMsRUFBQTtJUSs4RmxCO01BQ0ksNkJSbHNHeUIsRUFBQTtJTzhJekI7TUNzakdKO1FBUVEsYUFBYTtRQUViLDRGQUE0RTtRQUE1RSw0RUFBNEU7UUFDNUUsUUFBUTtRQUNSLGFBQWEsRUFBQSxFQVFwQjtJRDFrR0c7TUNva0dBO1FBRVEsb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiwyQkFBcUI7WUFBckIsd0JBQXFCO2dCQUFyQixxQkFBcUIsRUFBQSxFQUU1QjtFbUIxdkZUO0lBcURRLFNBQVMsRUFBQTtFQXJEakI7SUFtRVEsMkJBQW9CO0lBQXBCLDJCQUFvQjtJQUFwQixvQkFBb0IsRUFBQTs7QUFNNUI7RUFDSSxXdEIwNEhXO0VzQno0SFgsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsVUFBVTtFQUVWLGtCdEJ5NEhnQjtFc0J4NEhoQix5QjNCdmlCNkI7RTJCeWlCekIsZ0I3QnpqQmEsRUFBQTtFUzZKYjtJb0JtWlI7TUFZUSxXdEJnNEhPO01zQjkzSFAsU0FBUztNQUNULGtCdEJpNEhZLEVBQUEsRXNCOTFIbkI7RUFsREQ7SUFrQlEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2YsY0FBYyxFQUFBO0lBckJ0QjtNQXVCWSxTQUFTLEVBQUE7SXBCMWFiO01vQm1aUjtRQTRCb0IsMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsaUJBQWlCLEVBQUEsRUFFeEI7SUEvQmI7TUFpQ2dCLDJCQUFvQjtNQUFwQiwyQkFBb0I7TUFBcEIsb0JBQW9CO01BQ3BCLHFCQUFpQjtVQUFqQixpQkFBaUI7TUFDakIsUUFBUSxFQUFBO01BbkN4QjtRQXFDb0IsMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsbUJBQW1CLEVBQUE7UUF0Q3ZDO1VBd0N3QixZQUFZO1VBQ1oscUJBQXFCLEVBQUE7RUF6QzdDO0lBZ0RRLGtCdEI0aUhZLEVBQUE7O0FzQnhpSHBCO0VBQ0ksV0FBVztFQUNYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixnQ0FBMkUsRUFBQTtFQU4vRTtJQVFRLG1CbEJ6aUJ3RDtJa0IwaUJ4RCxnQnRCczFIb0MsRUFBQTtFc0IvMUg1QztJQVlRLGlCQUFpQixFQUFBOztBQUl6QjtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLDJCQUFxQjtNQUFyQix3QkFBcUI7VUFBckIscUJBQXFCO0VBQ3JCLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBSm5CO0lBU1EsYUFBYSxFQUFBO0VBVHJCO0lBWVEsV3RCdTBITztJc0J0MEhQLHFCQUFxQjtJQUNyQixjNUJqbkJTO0k0QmtuQlQsbUJsQmhrQndEO0lrQmlrQnhELGdCdEJobkJ1QixFQUFBO0lFeUl2QjtNb0J1ZFI7UUFrQlksWXRCazBISSxFQUFBLEVzQmgwSFg7RUFwQkw7SUFzQlEsU0FBUztJQUNULFVBQVU7SUFDVixjM0I5b0JTO0kyQitvQlQsbUJsQjFrQndELEVBQUE7SUYwRnhEO01vQnVkUjtRQTJCWSxtQkFBTztZQUFQLFdBQU87Z0JBQVAsT0FBTyxFQUFBLEVBRWQ7RUE3Qkw7SUFnQ1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiwyQkFBcUI7UUFBckIsd0JBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQixnQnRCbG9CdUI7SXNCbW9CdkIsbUJsQnBsQndELEVBQUE7RWtCaWpCaEU7SUFzQ1EsbUJBQU87UUFBUCxXQUFPO1lBQVAsT0FBTztJQUNQLG1CbEJ4bEJ3RCxFQUFBOztBa0I4bEJoRTtFQUNJLGtCQUFrQjtFQUNsQixjN0J4VmlFLEVBQUE7RTZCc1ZyRTtJQUlRLGtCQUFrQjtJQUNsQixjNUJycEJTO0k0QnNwQlQsb0JsQnBtQndEO0lrQnFtQnhELGdCdEIwd0hvQjtJc0J6d0hwQix5QnRCMHdINkI7SXNCendIN0IsYUFBYSxFQUFBO0lwQjdnQmI7TW9Cb2dCUjtRQVdZLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsU0FBUztRQUNULFFBQVE7UUFDUixPQUFPO1FBQ1Asb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYixtQkFBZTtZQUFmLGVBQWU7UUFDZix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFDdkIsWUFBWSxFQUFBLEVBWW5CO0lBL0JMO01Bc0JZLGdCQUFnQjtNQUNoQixvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLGNBQWM7TUFDZCxjN0JoWHlEO002QmlYekQsaUMzQjdoQjJCO00yQjhoQjNCLGVBQWUsRUFBQTs7QUFNM0I7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBZTtNQUFmLGVBQWU7RUFDZixTdEJndkhXLEVBQUE7RUUxeElQO0lvQnNpQlI7TUFNUSwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQixFQUFBLEVBUzNCO0VBZkQ7SUFVUSx3QkFBd0QsRUFBQTtJcEJyakJ4RDtNb0IyaUJSO1FBWVksd0JBQXlELEVBQUEsRUFFaEU7O0FBU0w7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEIsRUFBQTtFcEJqa0IxQjtJb0I2akJSO01BTVEsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLG1CQUFtQixFQUFBLEVBRTFCOztBQUdEO0VBQ0ksZWxCcHFCNEQ7RWtCcXFCNUQsZ0JBQWdCLEVBQUE7RUFGcEI7SUFJUSxxQkFBcUIsRUFBQTtFQUo3QjtJQU9RLHFCQUFxQjtJQUNyQix5QkFBeUIsRUFBQTtJcEJ0bEJ6QjtNb0I4a0JSO1FBVVksa0JBQWtCO1FBQ2xCLGlCQUFpQixFQUFBLEVBTXhCO0lwQjFsQkc7TW9CeWtCUjtRQWNZLGtCQUFrQjtRQUNsQixpQkFBaUIsRUFBQSxFQUV4Qjs7QUFJTDtFQUNJLG1CQUFtQjtFQUNuQixtQmxCMXJCNEQsRUFBQTtFRjBGeEQ7SW9COGxCUjtNQUlRLG1CQUFtQixFQUFBLEVBVzFCO0VBZkQ7SUFPUSxpQkFBaUI7SUFDakIsYzVCbHZCUztJNEJtdkJULGdCQUFnQixFQUFBO0VBVHhCO0lBWVEsU0FBUztJQUNULFVBQVUsRUFBQTs7QUFJbEI7RUFFUSxtQmxCM3NCd0QsRUFBQTtFa0J5c0JoRTtJQUlZLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtJcEJwbkJwQjtNb0IrbUJSO1FBT2dCLGFBQWEsRUFBQSxFQUVwQjs7QUFUVDtFQVlRLGdCdEJvc0g2QjtFc0Juc0g3QixjM0J0d0J5QixFQUFBOztBMkJ5dkJqQztFQWdCUSxnQkFBZ0IsRUFBQTtFcEIvbkJoQjtJb0IrbUJSO01Ba0JZLFVBQVU7TUFDVixrQkFBa0IsRUFBQSxFQUV6Qjs7QXBCcG9CRztFb0IrbUJSO0lBd0JZLFVBQVUsRUFBQSxFQUVqQjs7QXBCem9CRztFb0IrbUJSO0lBNkJZLFVBQVUsRUFBQSxFQUVqQjs7QXBCOW9CRztFb0IrbUJSO0lBa0NZLFVBQVUsRUFBQSxFQUVqQjs7QXBCbnBCRztFb0IrbUJSO0lBMENZLGtCQUFrQixFQUFBLEVBT3pCOztBcEJocUJHO0VvQittQlI7SUE4Q2dCLFlBQVksRUFBQSxFQUVuQjs7QUFJVDtFQUNJLFd0QjhwSHNDO0VzQjdwSHRDLFl0QjZwSHNDO0VzQjVwSHRDLGtCQUFrQjtFQUNsQixlQUFlLEVBQUE7RXBCdnFCWDtJb0JtcUJSO01BTVEsY0FBYyxFQUFBLEVBZ0JyQjtFQXRCRDtJQVNRLFl0Qi9pQlc7SXNCZ2pCWCxjM0JoMEJ5QjtJMkJpMEJ6QixtQzNCM3FCbUM7STJCNHFCbkMscUJsQnp3QndEO0lrQjB3QnhELDhCM0JqbEJjO0kyQmlsQmQsc0IzQmpsQmMsRUFBQTtFMkJva0J0QjtJQWdCUSxjM0J0eEJTO0kyQnV4QlQsOEIzQnRsQmM7STJCc2xCZCxzQjNCdGxCYyxFQUFBO0UyQnFrQnRCO0lBb0JRLGM1Qm4wQlMsRUFBQTs7QTRCdzBCakI7RUFDSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsbUJBQWU7TUFBZixlQUFlO0VBQ2YsbUJBQW1CLEVBQUE7RXBCanNCZjtJb0I0ckJSO01BT1EsOEJBQW1CO01BQW5CLDZCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLHFCQUF5QjtVQUF6QixrQkFBeUI7Y0FBekIseUJBQXlCO01BQ3pCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CLEVBQUEsRUFpQjFCO0VwQnR0Qk87SW9CNHJCUjtNQWFZLHFCQUFxQixFQUFBLEVBRTVCO0VwQjNzQkc7SW9CNHJCUjtNQWtCWSxTQUFTLEVBQUEsRUFFaEI7RXBCaHRCRztJb0I0ckJSO01BdUJZLFNBQVMsRUFBQSxFQUVoQjs7QUFFTDtFQUNJLGdCdEJ0MkJ1QjtFc0J1MkJ2QixXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCQUFrQixFQUFBO0VwQjN0QmQ7SW9CdXRCUjtNQU9ZLGFBQWEsRUFBQSxFQUVwQjtFQVRMO0lBWVEsZ0JBQWdCLEVBQUE7SXBCbnVCaEI7TW9CdXRCUjtRQWNZLGtCQUFrQixFQUFBLEVBRXpCO0VBaEJMO0lBa0JRLG1CbEJuMEJ3RCxFQUFBO0VGMEZ4RDtJb0J1dEJSO01BdUJZLG9CQUFvQixFQUFBLEVBRTNCOztBcEJodkJHO0VvQm92QlI7SUFRWSxZQUFZO0lBQ1osa0JBQWtCLEVBQUEsRUFHekI7O0FwQmh3Qkc7RW9Cb3ZCUjtJQWVZLFlBQVksRUFBQSxFQUVuQjs7QXBCcndCRztFb0JvdkJSO0lBb0JZLFlBQVksRUFBQSxFQUVuQjs7QXBCMXdCRztFb0JvdkJSO0lBeUJZLGdCQUFnQixFQUFBLEVBRXZCOztBQU1MO0VBQ0ksU0FBUyxFQUFBO0VBRGI7SUFTb0IsYzNCajRCSDtJMkJrNEJHLDhCM0Joc0JFO0kyQmdzQkYsc0IzQmhzQkUsRUFBQTtFMkJzckJ0QjtJQWdCWSxZQUFZO0lBQ1osZ0MzQnZzQlU7STJCdXNCVix3QjNCdnNCVSxFQUFBO0VPcEdkO0lvQjB4QlI7TUFxQmdCLFVBQVUsRUFBQSxFQUVkO0VBdkJaO0lBMEJnQixVQUFVO0lBQ1YsZ0MzQmx0Qk07STJCa3RCTix3QjNCbHRCTSxFQUFBO0UyQnVyQnRCO0lBaUNRLG1CbEJoNUJ3RCxFQUFBO0VrQisyQmhFO0lBcUNZLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7RXBCMXpCM0I7SW9CcXhCUjtNQTBDWSxVQUFVO01BQ1YsbUJ0QjZqSGdCO01zQjVqSGhCLGdCQUFnQixFQUFBLEVBRXZCO0VBOUNMO0lBZ0RRLDhCQUFtQjtJQUFuQiw2QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0lwQnIwQm5CO01vQnF4QlI7UUFrRFksVUFBVTtRQUNWLHlCQUFxQjtRQUFyQiw0QkFBcUI7WUFBckIseUJBQXFCO2dCQUFyQixxQkFBcUI7UUFDckIsa0JBQWtCLEVBQUEsRUFFekI7RUF0REw7SUF3RFEscUJBQXFCLEVBQUE7SXBCNzBCckI7TW9CcXhCUjtRQTBEWSxXQUFXLEVBQUEsRUFFbEI7RXBCajFCRztJb0JxeEJSO01BK0RZLGtCQUFrQjtNQUNsQixvQnRCd2lIZ0IsRUFBQSxFc0J0aUh2QjtFQWxFTDtJQW9FUSxxQkFBcUI7SUFDckIsZ0JBQWdCLEVBQUE7O0FBR3hCO0VBQ0ksY0FBYztFQUNkLGtCQUFrQjtFQUNsQixtQmxCMTdCNEQ7RWtCMjdCNUQsZ0JBQWdCLEVBQUE7RXBCajJCWjtJb0I2MUJSO01BTVEsZUFBZSxFQUFBLEVBVXRCO0VBaEJEO0lBVVksWXRCdHRCTTtJc0J1dEJOLG1DM0JyMkIrQjtJMkJzMkIvQixvQmxCbjhCb0Q7SWtCbzhCcEQsYzNCbmdDb0IsRUFBQTs7QTJCd2dDaEM7RUFDSSxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBRXRCO0VBRVEsYUFBYSxFQUFBOztBQUlyQjtFQUNJLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsWUFBWSxFQUFBO0VBSGhCO0lBS1EsU0FBUztJQUNULFVBQVUsRUFBQTtFQU5sQjtJQVNRLFVBQVUsRUFBQTs7QUFJbEI7RUFDSSxXQUFXLEVBQUE7RUFEZjtJQUdRLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCLEVBQUE7RUFIL0I7SUFNUSxXQUFXLEVBQUE7O0FBSW5CO0VBQ0ksV0FBVztFQUNYLFNBQVMsRUFBQTs7QUFJYjtFQUVRLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsK0IzQjV6QmM7RTJCNHpCZCx1QjNCNXpCYyxFQUFBOztBMkIrekJ0QjtFQUNJLGdCQUFnQixFQUFBO0VwQjk1Qlo7SW9CNjVCUjtNQUdRLG1CQUFtQjtNQUNuQixpQkFBaUIsRUFBQSxFQVl4QjtFQWhCRDtJQU9RLFNBQVM7SUFDVCxVQUFVO0lBQ1Ysb0JsQmhnQ3dEO0lrQmlnQ3hELGdCdEJtOUcyQjtJc0JsOUczQixjNUJwakNTLEVBQUE7STRCeWlDakI7TUFhWSxrQkFBa0IsRUFBQTs7QUFJOUI7RUFDSSxrQkFBa0IsRUFBQTtFcEIvNkJkO0lvQjg2QlI7TUFHUSxnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFDRDtFQUVRLGdCQUFnQixFQUFBOztBQUl4QjtFQUNJLHFCQUFxQixFQUFBO0VwQjM3QmpCO0lvQjA3QlI7TUFHUSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CLEVBQUEsRUFRMUI7O0FBR0Q7RUFDSSxrQkFBa0I7RUFDbEIsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUh2QjtJQUtRLFl0QnYxQlU7SXNCdzFCVixnQkFBZ0I7SUFDaEIsdUIzQmo2QjBCO0kyQms2QjFCLGVBQWU7SUFDZixjM0JsbkNTLEVBQUE7O0EyQnVuQ2pCO0VBQ0ksbUJBQW1CLEVBQUE7RXBCejlCZjtJb0J3OUJSO01BSVksV0FBVyxFQUFBLEVBRWxCO0VwQjk5Qkc7SW9CdzlCUjtNQVNZLFNBQVM7TUFDVCxlQUFlLEVBQUEsRUFFdEI7RXBCcCtCRztJb0J3OUJSO01BZVksU0FBUyxFQUFBLEVBRWhCO0VwQnorQkc7SW9CdzlCUjtNQW9CWSxVQUFVLEVBQUEsRUFFakI7RXBCOStCRztJb0J3OUJSO01BeUJZLFVBQVUsRUFBQSxFQUVqQjtFcEJuL0JHO0lvQnc5QlI7TUE4QlksU0FBUyxFQUFBLEVBRWhCO0VwQngvQkc7SW9CdzlCUjtNQW1DWSxVQUFVLEVBQUEsRUFFakI7RXBCNy9CRztJb0J3OUJSO01Bd0NZLGVBQWU7TUFDZixnQkFBZ0IsRUFBQSxFQUV2QjtFcEJuZ0NHO0lvQnc5QlI7TUE4Q1ksV0FBVyxFQUFBLEVBRWxCO0VwQnhnQ0c7SW9CdzlCUjtNQW1EWSxXQUFXLEVBQUEsRUFFbEI7RXBCN2dDRztJb0J3OUJSO01Bd0RZLFNBQVMsRUFBQSxFQUVoQjtFcEJsaENHO0lvQnc5QlI7TUE2RFksU0FBUyxFQUFBLEVBRWhCO0VwQnZoQ0c7SW9CdzlCUjtNQWtFWSxTQUFTLEVBQUEsRUFFaEI7RXBCNWhDRztJb0J3OUJSO01BdUVZLFdBQVcsRUFBQSxFQUVsQjtFQXpFTDtJQTJFUSxnQkFBZ0I7SUFDaEIsbUJsQjluQ3dEO0lrQituQ3hELGM1QmpyQ1MsRUFBQTtJUXVJVDtNb0I2OUJSO1FBK0VZLFdBQVc7UUFDWCxrQnRCdlhxQjtRc0J3WHJCLHlCM0Jsc0NvQjtRMkJvc0NoQix5QjVCNThCd0I7UTRCODhCNUIsa0JBQWtCLEVBQUEsRUFFekI7O0FwQi9pQ0c7RW9CbWpDUjtJQUdZLFNBQVMsRUFBQSxFQUVoQjs7QUFMTDtFQVFRLHVCQUF1QixFQUFBO0VwQjNqQ3ZCO0lvQm1qQ1I7TUFVWSxVQUFVLEVBQUEsRUFFakI7O0FwQi9qQ0c7RW9CbWpDUjtJQWVZLFVBQVUsRUFBQSxFQUVqQjs7QXBCcGtDRztFb0JtakNSO0lBb0JZLGtCQUFrQixFQUFBLEVBRXpCOztBcEJ6a0NHO0VvQm1qQ1I7SUF5QlksVUFDSixFQUFBLEVBQ0g7O0FBM0JMO0VBNkJRLFVBQVU7RUFDVixnQkFBZ0IsRUFBQTs7QXBCamxDaEI7RW9Cc2xDUjtJQUdZLFlBQVksRUFBQSxFQUVuQjs7QXBCM2xDRztFb0JzbENSO0lBUVksVUFBVSxFQUFBLEVBRWpCOztBcEJobUNHO0VvQnNsQ1I7SUFhWSxVQUFVLEVBQUEsRUFFakI7O0FwQnJtQ0c7RW9Cc2xDUjtJQXdCWSxVQUFVO0lBQ1YsZ0JBQWdCLEVBQUEsRUFFdkI7O0FwQmpuQ0c7RW9Cc2xDUjtJQThCWSxVQUFVLEVBQUEsRUFFakI7O0FwQnRuQ0c7RW9Cc2xDUjtJQW1DWSxVQUFVLEVBQUEsRUFFakI7O0FwQjNuQ0c7RW9CK25DUjtJQUVRLGdCQUFnQixFQUFBLEVBY3ZCOztBcEIvb0NPO0VvQituQ1I7SUFNWSxVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLGdCQUFnQixFQUFBLEVBRXZCOztBQVZMO0VBWVEsZ0JBQWdCO0VBQ2hCLGMzQnR4Q3lCLEVBQUE7O0FPMEl6QjtFb0JrcENSO0lBR1ksa0JBQWtCLEVBQUEsRUFFekI7O0FwQnZwQ0c7RW9Ca3BDUjtJQVFZLGtCQUFrQjtJQUNsQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFJTDtFbkJqK0JJLHFDQUFnQztFQXVCNUIsV21CMjhCc047RW5CMzdCMU4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhZYTtFU2lZYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUdEplO0VTdUpmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVDlKZ0M7RVNpS2hDLHFCSGtjeUU7RUdqY3pFLGlCSDhid0I7RUczYnhCLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lvQmlxQ1I7TW5CMzRCUSwwQm1CNDRCME87TW5CNTRCMU8sdUJtQjQ0QjBPO01uQjU0QjFPLGtCbUI0NEIwTztNbkIzNEIxTyw0Q0FBa0UsRUFBQSxFbUI0NEJ6RTtFbkJ2NEJHO0lBQ0k7TUFDSSxjVDFhSztNUzJhTCx1QlRuS3dEO01TcUtwRCxxQlQ3YUM7TVNpYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUmhjeUI7SVFrY3JCLHFCUmxjcUI7SVFzY3pCLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxzQ1J4ZW9CO0lRNGV4QixtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDUnJmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QU8vRmQ7RW9Cc3FDUjtJQUdZLFdBQVcsRUFBQSxFQUVsQjs7QXBCM3FDRztFb0JzcUNSO0lBUVksVUFBVSxFQUFBLEVBRWpCOztBcEJockNHO0VvQnNxQ1I7SUFhWSxXQUFXLEVBQUEsRUFFbEI7O0FwQnJyQ0c7RW9Cc3FDUjtJQWtCWSxZQUFZLEVBQUEsRUFFbkI7O0FwQjFyQ0c7RW9Cc3FDUjtJQXVCWSxZQUFZLEVBQUEsRUFFbkI7O0FwQi9yQ0c7RW9Cc3FDUjtJQTRCWSxVQUFVLEVB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Y3lFO0lHamN6RSxpQkg4YndCO0lHM2J4QixxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NabXFpQkMsRVkzcGlCQztJRGpYRjtNcUJpWFI7UXBCM0ZRLDBCb0JvSThPO1FwQnBJOU8sdUJvQm9JOE87UXBCcEk5TyxrQm9Cb0k4TztRcEJuSTlPLDRDQUFrRSxFQUFBLEVvQm9JakU7SXBCL0hMO01BQ0k7UUFDSSxjVDFhSztRUzJhTCx1QlJ4WXlEO1FRMFlyRCxxQlQ3YUM7UVNpYkwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUTBNTjtVQUNDLGNUcmJBO1VTc2JBLDhCUjVNSztVUTRNTCxzQlI1TUssRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCUnpaUztNUTJaTCxxQlJsY3FCO01Rc2N6Qiw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7TVFnT1Y7UUFDQyxjUmplSSxFQUFBO0lRcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFpZkwsc0NSeGVvQjtNUTRleEIsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUVRLHNDUnJmb0IsRUFBQTtJUTJmNUI7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlUMWdCRjtNUzJnQkUsa0JvQmNrQjtNcEJibEIsa0NSMVR5QztNUTJUekMsZVR4SjBCO01TNkoxQixjUnZmdUM7TVF3ZnZDLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTRCa1J0QjtJcEJqTEkscUNBQWdDO0lBdUI1QixXb0J1TWtRO0lwQnZMdFEsb0JvQnVMbVM7SXBCdkxuUyxvQm9CdUxtUztJcEJ2TG5TLGFvQnVMbVM7SXBCckwvUix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLHFEQUErQztJQUMvQyxjUnpXK0M7SVEwVy9DLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixtQkNqVjREO0lEa1Y1RCxnQlR0SmU7SVN1SmYsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBRVgseUJUOUpnQztJU2lLaEMscUJIa2N5RTtJR2pjekUsaUJIOGJ3QjtJRzNieEIscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCO0lRMFFkOzs7Ozs7OztTWm12aUJDLEVZM3VpQkM7SURqWEY7TXFCaVhSO1FwQjNGUSwwQm9Cd0k4TztRcEJ4STlPLHVCb0J3SThPO1FwQnhJOU8sa0JvQndJOE87UXBCdkk5Tyw0Q0FBa0UsRUFBQSxFb0J3SWpFO0lwQm5JTDtNQUNJO1FBQ0ksY1QxYUs7UVMyYUwsdUJSeFl5RDtRUTBZckQscUJUN2FDO1FTaWJMLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVEwTU47VUFDQyxjVHJiQTtVU3NiQSw4QlI1TUs7VVE0TUwsc0JSNU1LLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QlJ6WlM7TVEyWkwscUJSbGNxQjtNUXNjekIsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO01RZ09WO1FBQ0MsY1JqZUksRUFBQTtJUXFlYjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RaWZMLHNDUnhlb0I7TVE0ZXhCLG1CQUFtQixFQUFBO01BRWY7UUFDQyxjVnhLd0QsRUFBQTtJVTRLakU7TUFFUSxzQ1JyZm9CLEVBQUE7SVEyZjVCO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUWlSN0M7TUFDSSxZVDVnQkQ7TVM2Z0JDLGtCb0J1QmtCO01wQnRCbEIsa0NSMVR5QztNUTJUekMsZVR4SjBCO01TNkoxQixjUnZmdUM7TVF3ZnZDLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7O0E0Qm9VdEI7RXBCbk9JLHFDQUFnQztFQXlCNUIsWW9CMk1pTjtFcEI3THJOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLGlEQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1RoWWE7RVNpWWIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCVHRKZTtFU3VKZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQkhrY3lFO0VHamN6RSxpQkg4YndCO0VHM2J4QixxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFT3BHZDtJcUJ3YVI7TXBCakpZLGtEQUFvRSxFQUFBLEVvQm1KL0U7RXJCcmFPO0lxQm1hUjtNcEI3SVEsWW9COElpTjtNcEI3SWpOLG1EQUFrRSxFQUFBLEVvQjhJekU7RXBCeklHO0lBQ0k7TUFDSSxjVDFhSztNUzJhTCx1QlRuS3dEO01TcUtwRCxxQlQ3YUM7TVNpYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUmhjeUI7SVFrY3JCLHFCUmxjcUI7SVFzY3pCLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxzQ1J4ZW9CO0lRNGV4QixtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDUnJmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QTRCeVV0QjtFQUNJLGdCQUFnQixFQUFBO0VBRHBCO0lBR1EsU0FBUztJQUNULFVBQVUsRUFBQTtJQUpsQjtNQU1ZLGVBQWUsRUFBQTtFQU4zQjtJQVlnQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHFCNUI1a0JpQjtJNEI2a0JqQiw4RDVCeFZNO0k0QndWTixzRDVCeFZNO0k0QndWTiw4QzVCeFZNO0k0QndWTix1RTVCeFZNLEVBQUE7STRCeVV0QjtNQWtCb0IsZUFBZSxFQUFBO0lBbEJuQztNQXNCb0IseUI1Qm5tQkMsRUFBQTtJNEI2a0JyQjtNQXlCb0IsNEQ1QnpWaUM7YzRCeVZqQyxvRDVCelZpQztNNEIwVmpDLDJDNUJwV0U7TTRCb1dGLG1DNUJwV0U7TTRCb1dGLDJCNUJwV0U7TTRCb1dGLG9ENUJwV0UsRUFBQTtNNEIwVXRCO1FBNEJ3QixxQjdCaGxCUDtRNkJpbEJPLHFDNUJ2V0Y7UTRCdVdFLDZCNUJ2V0YsRUFBQTtFNEIwVXRCO0lBb0NRLGdCQUFnQjtJQUNoQiwyQzVCOVdjO0k0QjhXZCxtQzVCOVdjO0k0QjhXZCwyQjVCOVdjO0k0QjhXZCxvRDVCOVdjLEVBQUE7STRCeVV0QjtNQXdDZ0Isa0JBQWtCO01BQ2xCLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsa0JuQjdpQmdEO01tQjhpQmhELGdCdkI4bEhpQjtNdUI3bEhqQixjN0JqbUJDLEVBQUE7TTZCb2pCakI7UUErQ29CLFk3QnptQlQ7UTZCMm1CUyxxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLGtDNUJ6WmlDO1E0QjBaakMsYzVCbG5CYTtRNEJtbkJiLGVBQWU7UUFDZixxQzVCL1hFO1E0QitYRiw2QjVCL1hFLEVBQUE7STRCeVV0QjtNQTBEZ0IsaUJBQWlCLEVBQUE7SUExRGpDO01BNkRnQixjQUFjLEVBQUE7TUE3RDlCO1FBK0RvQixlbkJqa0I0QztRbUJra0I1QyxnQkFBZ0I7UUFDaEIsYzVCeG9CSCxFQUFBO0U0QnVrQmpCO0lBMEVZLGM1QnJsQks7STRCc2xCTCw4QjVCclpVO0k0QnFaVixzQjVCclpVLEVBQUE7RTRCMFV0QjtJQThFWSxjNUI5bUJ1QztJNEIrbUJ2Qyw4QjVCeFpVO0k0QndaVixzQjVCeFpVLEVBQUE7O0FxQmtPdEI7RU82TFEsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0J2Qjg0QmdCO0V1Qjc0QmhCLFV2Qjg0QlU7RXVCNzRCVixlbkI1bEJ3RDtFbUI2bEJ4RCxnQjdCOWJtQjtFNkIrYm5CLGtCN0I5YnFCO0U2QitickIsYzdCanBCUztFNkJrcEJULHFCdkJ3NkJTO0V1QnY2QlQsNkI1QjVxQmE7RTRCNnFCYiw2QjVCN3FCYTtFNEI4cUJiLG9CdkI2NEJ1QjtFdUI1NEJ2Qix3RDVCM2FjO0U0QjJhZCxnRDVCM2FjLEVBQUE7RTRCNlp0QjtJQWdCWSxjNUIvbUJLO0k0QmduQkwsMEJ2Qms2QnlDO0l1Qmo2QnpDLHlCNUJuckJTO0k0Qm9yQlQsNkI1QnByQlM7STRCcXJCVCw4RDVCbGJVO0k0QmtiVixzRDVCbGJVLEVBQUE7RTRCOFp0QjtJQXVCWSxjNUIzb0J1QztJNEI0b0J2Qyw2QjVCenJCUyxFQUFBOztBNEIrckJyQjtFcEIxVkkscUNBQWdDO0VBeUI1QixZb0JrVWlOO0VwQnBUck4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsaURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVGhZYTtFU2lZYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JUdEplO0VTdUpmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUVYLHlCVDlKZ0M7RVNpS2hDLHFCSGtjeUU7RUdqY3pFLGlCSDhid0I7RUczYnhCLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lxQitoQlI7TXBCeFFZLGtEQUFvRSxFQUFBLEVvQjBRL0U7RXJCNWhCTztJcUIwaEJSO01wQnBRUSxZb0JxUWlOO01wQnBRak4sbURBQWtFLEVBQUEsRW9CcVF6RTtFcEJoUUc7SUFDSTtNQUNJLGNUMWFLO01TMmFMLHVCVG5Ld0Q7TVNxS3BELHFCVDdhQztNU2liTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJSaGN5QjtJUWtjckIscUJSbGNxQjtJUXNjekIsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHNDUnhlb0I7SVE0ZXhCLG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEsc0NScmZvQixFQUFBO0VRMmY1QjtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBNEJpY3RCO0VBQ0ks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QWdCLEVBQUE7RUExQnBCO0l6QjI0REksZUgyTTZCO0lHMU03QixtQkFBbUI7SUFDbkIscUJScjNENEI7SVFzM0Q1QixxQ1I5bkRrQjtJUThuRGxCLDZCUjluRGtCLEVBQUE7SVErbkRsQjtNQUNJLHFCVDMyRFM7TVM0MkRULHFDUmxvRGM7TVFrb0RkLDZCUmxvRGMsRUFBQTtFaUMvUXRCO0l6QnUzREksWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osMkNSMW1Ea0I7SVEwbURsQixtQ1IxbURrQjtJUTBtRGxCLDJCUjFtRGtCO0lRMG1EbEIsb0RSMW1Ea0IsRUFBQTtJUWtuRGQ7TUFDSSw0RFIxbUR5QztjUTBtRHpDLG9EUjFtRHlDO01RMm1EekMsMkNScm5EVTtNUXFuRFYsbUNScm5EVTtNUXFuRFYsMkJScm5EVTtNUXFuRFYsb0RScm5EVSxFQUFBO0VpQy9RdEI7SUFlWSxZQUFZLEVBQUE7RUFmeEI7SUFxQlksOEJBQThCO0lBQzlCLDJCQUEyQixFQUFBO0UxQnNKL0I7STBCNUtSO01BNEJRLHFCQUFnQixFQUFBLEVBS3ZCO0UxQmdKTztJMEJqTFI7TUErQlEscUJBQWdCLEVBQUEsRUFFdkI7O0FyQ3d6bUJEO0VZbmpqQndCLFdBQVcsRUFBQTs7QURybkQzQjtFWDRxbUJOO0lZbmpqQjBCLFdBQVcsRUFBQSxFQUVsQjs7QUQzbkRiO0VYZ3JtQk47SVk1aWpCYyxvQkFBb0IsRUFBQSxFQUUzQjs7QUR0b0REO0VYb3JtQk47SVkxaWpCa0IsY0FBbUM7SUFDbkMsb0JBQW9CLEVBQUEsRUFFM0I7O0FEN29ETDtFWHlybUJOO0lZemlqQmtCLGNBQW1DLEVBQUEsRUFHMUM7O0FEbnBETDtFWDZybUJOO0lZdmlqQmtCLGNBQW1DLEVBQUEsRUFHMUM7O0FEenBETDtFWGlzbUJOO0lZcmlqQmtCLGNBQW1DLEVBQUEsRUFHMUM7O0FEL3BETDtFWHFzbUJOO0lZbmlqQmtCLGNBQW1DLEVBQUEsRUFHMUM7O0FEcnFETDtFWHlzbUJOO0lZL2hqQmMsY0FBbUMsRUFBQSxFQUcxQzs7QUQ3cUREO0VYNnNt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LG1DUjFtRGtCO0VRMG1EbEIsMkJSMW1Ea0I7RVEwbURsQixvRFIxbURrQixFQUFBO0VPL0ZkO0lYMmpuQko7TVkxeWtCUSxXQUFXLEVBQUEsRUFxSGxCO0VadXJrQkg7SVl6eWtCVSxtQkhzckJjO0lHcnJCZCxrQkhxckJjLEVBQUE7SVRzbmpCdEI7TVl4eWtCWSxjQUFjLEVBQUE7RVoweWtCNUI7SVlweWtCVSxlQUFlLEVBQUE7RVpzeWtCekI7SVlueWtCVSxtQkh5cUJjO0lHeHFCZCxrQkh3cUJjLEVBQUE7SVQ2bmpCdEI7TVlueWtCWSxtQkFBbUIsRUFBQTtFWnF5a0JqQztJWWp5a0JVLG1CSGtxQmM7SUdqcUJkLGtCSGlxQmMsRUFBQTtFVGtvakJ4QjtJWS94a0JVLGdCQUFnQjtJQUNoQixrQkg0cEJjO0lHM3BCZCxnQkh5dkJnQixFQUFBO0lUd2lqQnhCO01ZL3hrQlksYUFBYSxFQUFBO0laaXlrQnpCO01ZOXhrQlksc0JIb3ZCWTtVR3B2QlosbUJIb3ZCWTtjR3B2QloscUJIb3ZCWSxFQUFBO0lUNGlqQnhCO01ZN3hrQlksMkJBQXFCO1VBQXJCLHdCQUFxQjtjQUFyQixxQkFBcUI7TUFFakIsdUJBQTJCO1VBQTNCLG9CQUEyQjtjQUEzQiwyQkFBMkIsRUFBQTtFWjh4a0I3QztJWXZ4a0JVLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsdUJIdXdCUztRR3Z3QlQsb0JIdXdCUztZR3Z3QlQsMkJIdXdCUztJR3R3QlQseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsbUJBQWU7UUFBZixlQUFlO0lBQ2YsU0FBUztJQUNULG9CSDRuQnFCLEVBQUE7SUVqOER6QjtNWCtsbkJGO1FZeHhrQlUsdUJIa3dCSztZR2x3Qkwsb0JIa3dCSztnQkdsd0JMLDJCSGt3Qks7UUdqd0JMLFFBQVEsRUFBQSxFQUVmO0Vad3hrQlA7SVlyeGtCVSxnQkFBZ0IsRUFBQTtFWnV4a0IxQjtJWW54a0JVLFVIZ3dCaUI7SUcvdkJqQixtQkgrbUJxQixFQUFBO0VUc3FqQi9CO0lZanhrQmMsWUFBWSxFQUFBO0VabXhrQjFCO0lZN3drQmMsY1R4K0NDO0lTeStDRCwwQkFBc0U7SUFDdEUsOEJSaHdDTTtJUWd3Q04sc0JSaHdDTSxFQUFBO0VKK2duQnBCO0lZMXdrQmMsY1J0OENDLEVBQUE7RUprdG5CZjtJWWh3a0JVLDZCUnBoRFMsRUFBQTtFSnN4bkJuQjtJWS92a0JVLG9CSGtqQnlCO0lHampCekIseUJScmhESyxFQUFBO0lKc3huQmI7TVkvdmtCWSxzQkFBZ0YsRUFBQTtJWml3a0I1RjtNWTl2a0JZLGNBQWMsRUFBQTtJWmd3a0IxQjtNWTN2a0JZLGtCSDZrQlUsRUFBQTtNVGdyakJwQjtRWXp2a0JjLFVBQVUsRUFBQTtFWjJ2a0I1QjtJWTE2akJVLDREUjFtRHlDO1lRMG1EekMsb0RSMW1EeUM7SVEybUR6QywyQ1JybkRVO0lRcW5EVixtQ1JybkRVO0lRcW5EViwyQlJybkRVO0lRcW5EVixvRFJybkRVLEVBQUE7O0FKa2luQnRCO0VZeHZrQlEsV0FBVyxFQUFBOztBWjJ2a0JuQjtFWXZ2a0JRLFdBQVc7RUFLWCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGdCSDZtQlcsRUFBQTtFRWpnRVg7SVgwb25CSjtNWWp2a0JRLFNIeW1CQSxFQUFBLEVHbG1CUDtFWjR1a0JIO0lZL3VrQlUsb0JBQWM7UUFBZCxjQUFjLEVBQUE7O0Faa3ZrQjFCO0VZN3VrQlEsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsbUJIc2lCa0I7RUdyaUJsQixrQkhxaUJrQixFQUFBO0VUMHNqQnhCO0lZN3VrQlUsY1J0a0RLO0lRdWtETCxnQkgwcEJrQztJR3pwQmxDLG1CQ25nRG9ELEVBQUE7RWJrdm5COUQ7SVk1dWtCVSxpQkhxL0RtRTtJR3AvRG5FLGNSNWtESztJUTZrREwsbUJDeGdEb0QsRUFBQTs7QWJ1dm5CaEU7RVkzdWtCUSxpREFBa0Q7RUFDbEQscUVUemxEa0U7RVMwbERsRSxvQkM5Z0R3RDtFRCtnRHhELGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw4QlIxMUNjO0VRMDFDZCxzQlIxMUNjLEVBQUE7RUp1a25CcEI7SVkxdWtCVSx3Q0FBd0M7SUFDeEMsMEJBQTBCO0lBQzFCLDhCUmgyQ1U7SVFnMkNWLHNCUmgyQ1UsRUFBQTs7QUo2a25CdEI7RVl6cWtCUSxjUjVvRHlCO0VRNm9EekIsbUJDN2xEd0Q7RUQ4bER4RCxnQkh1aUJzQztFR3RpQnRDLGdCVGpoRGlCLEVBQUE7RUg0cm5CdkI7SVl6cWtCVSxjVG5wREs7SVNvcERMLDBCQUEwQixFQUFBO0VaMnFrQnBDO0lZeHFrQlUsY1I5bURLLEVBQUE7O0FKeXhuQmpCO0VZbnZrQlEsY1I3a0R5QjtFUThrRHpCLG1CQzloRHdEO0VEK2hEeEQsZ0JINm1CZ0M7RUc1bUJoQyxnQlRsOUNpQjtFU205Q2pCLG9CSHNtQm9DO0VHcm1CcEMsOEJSejJDYztFUXkyQ2Qsc0JSejJDYyxFQUFBO0VKOGxuQnBCO0lZbnZrQlUsU0FBUztJQUNULFVBQVUsRUFBQTs7QVpzdmtCdEI7RVlsdmtCUSxjUnpsRHlCLEVBQUE7O0FKODBuQmpDO0VZanZrQlksU0FBUztFQUNULFVBQVUsRUFBQTs7QVpvdmtCdEI7RVlodmtCUSxjUnZuRFM7RVF3bkRULG1CQ25qRHdELEVBQUE7O0FGcUZ4RDtFWGt0bkJOO0lZbm1tQmMsYUFBYSxFQUFBLEVBT3BCOztBRHRuQkQ7RVhzdG5CTjtJWW5tbUJrQixjQUFjLEVBQUEsRUFFckI7O0Fab21tQmI7RVkvbG1CUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUNaLG1CQ2x0QndELEVBQUE7RWJtem5COUQ7SVkvbG1CVSxTQUFTO0lBSUwsZ0JIem1CTyxFQUFBO0VUdXNuQnJCO0lZMWxtQlUsV0FBVztJQUVYLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLDJCQUFxQjtRQUFyQix3QkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLGdCSDJpRlc7SUcxaUZYLGdCVG5wQmEsRUFBQTtJSDh1bkJyQjtNWXJsbUJZLG1CQUFlO1VBQWYsZUFBZSxFQUFBO0ladWxtQjNCO01ZcGxtQlksY1IveUJDO01RZ3pCRCxnQkg1bkJPLEVBQUE7TVRrdG5CakI7UVkva21CYyxpQkFBaUIsRUFBQTtNWmlsbUIvQjtRWTlrbUJjLFdBQVc7UUFFWCxrQkFBa0I7UUFDbEIsaUJBQWlCLEVBQUE7UURucUI3QjtVWG12bkJFO1lZOWttQmMsMEJBQWtCO1lBQWxCLHVCQUFrQjtZQUFsQixrQkFBa0IsRUFBQSxFQUV6QjtJWjhrbUJiO01ZM2ttQlksY1Z2ZnFEO01Vd2ZyRCxnQkhqcEJPLEVBQUE7TUVyQmY7UVhvdm5CQTtVWTVrbUJZLGlCQUFpQixFQUFBLEVBRXhCO0laNGttQlQ7TVl4a21Cb0IsY1I3MEJQO01RaTFCRyxnQkg1b0JJO01HOG9CQSx5Qkg1b0JVLEVBQUE7SVRrdG5COUI7TVkzam1CZ0IsY1I5MUJIO01RKzFCRyxnQkgzcUJHO01HNHFCSCxtQkMzeEI0QztNRDZ4QnhDLHlCSGpxQk07TUdvcUJOLDZCQUE2QixFQUFBO0laMGptQmpEO01ZM2htQndCLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsaUJBQWlCLEVBQUE7O0FaOGhtQjdDO0VZcmhtQlksbUJDMTBCb0QsRUFBQTs7QWJrMm5CaEU7RVlwaG1CZ0IscUVUMTVCMEQsRUFBQTs7QUhpN25CMUU7RVkvZ21CUSxTSGs3RVEsRUFBQTtFVCtsaEJkO0lZN2dtQlUsbUJDMTFCb0QsRUFBQTs7QWIwMm5CaEU7RVk1Z21CUSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGNSajVCeUI7RVFrNUJ6QixrQkNsMkJ3RDtFRG0yQnhELGdCSHM2RW1CO0VHcjZFbkIsZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBOztBWitnbUIzQjtFWTN6a0JRLGdCQUFnQixFQUFBOztBWjh6a0J4QjtFWTN6a0JRLFNBQVMsRUFBQTs7QVo4emtCakI7RVkzemtCUSxxQkFBcUIsRUFBQTs7QVo4emtCN0I7RVl6emtCWSxlQUFlO0VBQ2YsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixrQkFBa0IsRUFBQTtFWjJ6a0I1QjtJWXp6a0JjLGFBQWEsRUFBQTtFWjJ6a0IzQjtJWXh6a0JjLFdBQVcsRUFBQTs7QVoyemtCM0I7RVl0emtCUSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQixFQUFBO0Vad3prQnpCO0lZdHprQlUsYUFBYSxFQUFBOztBRDEvQ2pCO0UwQmhJUjtJQU13QixXQUFXO0lBQ1gsVTVCdXdFVjtJNEJ0d0VVLFc1QnV3RVQ7STRCdHdFUyx5QmpDbkJTO0lpQ29CVCxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTQUFTO0lBQ1QsT0FBTztJQUNQLFlBQVksRUFBQSxFQUNmOztBQU9yQjtFQUNJLFVBQVUsRUFBQTtFQURkO0lBR1EsWUFBWSxFQUFBOztBckMyNm5CcEI7RXFDdDZuQkksbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTyxFQUFBOztBQUtYO0VBQ0ksWWxDK1ZZLEVBQUE7RWtDaFdoQjs7SUFJUSxXbEM0VlE7SWtDM1ZSLFlsQzJWUSxFQUFBOztBa0NsVGhCO0VBWVksWUFBMEU7RUFDMUUsWTVCOG5FNkI7RTRCem5FekIsUUFBUTtFQUNSLFNBQVM7RUFZakIsWWxDa1JPLEVBQUE7RVFuUVA7STBCOUNSO01BZWdCLFlBQW9FLEVBQUEsRUFvQi9FO0UxQldHO0kwQjlDUjtNQWlDWSxZbENrUkcsRUFBQSxFa0NoUlY7O0FBbkNMOztFQXNDUSxXbEMyUU87RWtDMVFQLFlsQzBRTyxFQUFBO0VRblFQO0kwQjlDUjs7TUF5Q1ksV2xDMFFHO01rQ3pRSCxZbEN5UUcsRUFBQSxFa0N2UVY7O0FBR0w7RUFDSSxZbENpUVc7RWtDaFFYLFlBQVksRUFBQTtFQUZoQjs7SUFLUSxXbEM2UE87SWtDNVBQLFlsQzRQTztJa0MxUEgseURqQzhGc0M7WWlDOUZ0QyxpRGpDOEZzQztJaUM1RjFDLHlDakNvRmM7SWlDcEZkLGlDakNvRmMsRUFBQTtJaUM5RnRCOztNQVlZLHlCakMvS0s7TWlDaUxELHlEakN3RmtDO2NpQ3hGbEMsaURqQ3dGa0M7TWlDdEZ0Qyx5Q2pDNkVVO01pQzdFVixpQ2pDNkVVLEVBQUE7SWlDN0Z0Qjs7TUFtQlksV0FBdUQ7TUFDdkQsWUFBd0QsRUFBQTtFMUJyQjVEO0kwQkNSO016QmxKSSxZeUI0S2lHO016QjNLakcsV3lCMktpRztNekIxS2pHLFlBQVk7TUFDWix5QlRFYTtNU0RiLHlCQUF5QjtNQUN6QixrQ0FBNkI7Y0FBN0IsMEJBQTZCLEVBQUEsRXlCeUt4QjtFMUI3QkQ7STBCQ1I7TXpCbEpJLFl5Qm1Ma0c7TXpCbExsRyxXeUJrTGtHO016QmpMbEcsWUFBWTtNQUNaLHlCVEVhO01TRGIseUJBQXlCO01BQ3pCLGlDQUE2QjtjQUE3Qix5QkFBNkIsRUFBQSxFeUJnTHhCOztBQUlUO0VBQ0ksV0FBVyxFQUFBO0VBRGY7O0lBT1EseUJqQ3hNd0I7SWlDeU14QixZNUIyMkRLO0k0QjEyREwsMEVqQzhDYztJaUM5Q2Qsa0VqQzhDYyxFQUFBO0lPcEdkO00wQjZDUjs7UUFZZ0IseURqQ21Ea0M7Z0JpQ25EbEMsaURqQ21Ea0MsRUFBQSxFaUNwQjdDO0kxQm5GRztNMEJ3Q1I7O1FBZ0JZLFk1QmsyREc7UTRCaDJEQyx5RGpDNkNrQztnQmlDN0NsQyxpRGpDNkNrQyxFQUFBLEVpQ3BCN0M7SUEzQ0w7O01Bc0JZLHFCQUFxQjtNQUlyQix5QmpDcE9LO01pQ3NPRCx5RGpDbUNrQztjaUNuQ2xDLGlEakNtQ2tDO01pQ2pDdEMsWTVCcTFEQztNNEJwMURELHVEakN1QlU7TWlDdkJWLCtDakN1QlUsRUFBQTtNaUN0RHRCOztRQWlDZ0IscUJsQ3JOQyxFQUFBO0lrQ29M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a0NWYiw2QjdCZzBEb0I7RTZCL3pEcEIsa0JsQ3FRZTtFa0NwUWYsNERsQ3lRa0I7RWtDelFsQixvRGxDeVFrQixFQUFBO0VrQy9RdEI7SUFRUSx5QmxDTVM7SWtDTFQseUI3QjR6RGM7STZCM3pEZCw0RGxDb1FjO0lrQ3BRZCxvRGxDb1FjLEVBQUE7SWtDOVF0QjtNQVlZLHlCcENrVnlEO01vQ2pWekQseUNsQ2lRVTtNa0NqUVYsaUNsQ2lRVSxFQUFBO0VrQzlRdEI7SUFpQlEseUJsQ0hTO0lrQ0lULHlCN0JvekRlLEVBQUE7STZCdDBEdkI7TUFvQlkseUJsQ3lESyxFQUFBO0VrQzdFakI7SUEyQmdCLHlCbEMwR0YsRUFBQTtFa0NySWQ7SUFnQ2dCLHlCbENxR0YsRUFBQTs7QWtDNUZkO0VBQ0ksVzdCcXlEMkI7RTZCcHlEM0IsWTdCb3lEMkI7RTZCbnlEM0Isb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsVUFBVTtFQUVWLGlCQUFpQjtFQUNqQix5QmxDckNhO0VrQ3NDYix5QmxDaENhO0VrQ2lDYixtQjdCOHhEOEI7RTZCN3hEOUIsZUFBZTtFQUNmLFVBQVU7RUFDViwyQ2xDdU5rQjtFa0N2TmxCLG1DbEN1TmtCO0VrQ3ZObEIsMkJsQ3VOa0I7RWtDdk5sQixvRGxDdU5rQixFQUFBO0VrQ3RPdEI7SUFpQlEsV0FBVztJQUNYLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUJsQ2dCUztJa0NmVCxtQjdCcXhEMEI7STZCcHhEMUIseUJsQ2pEUyxFQUFBO0VrQzJCakI7SUEwQlEsNERsQ3FONkM7WWtDck43QyxvRGxDcU42QztJa0NwTjdDLDJDbEMwTWM7SWtDMU1kLG1DbEMwTWM7SWtDMU1kLDJCbEMwTWM7SWtDMU1kLG9EbEMwTWMsRUFBQTs7QWtDdE10QjtFQUNJLFVBQVUsRUFBQTs7QUFLZDtFQUNJLGtCQUFrQjtFQUNsQixNQUFN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LG9CQUFvQjtJQUNwQix1QkFBMkI7UUFBM0Isb0JBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQixnQkFBZ0IsRUFBQTtJRDF5RGhCO01Dc3lESjtRQU1RLGtCSGJXLEVBQUEsRUdlbEI7RUFFRDtJQUNJLGVIMjVEUyxFQUFBO0lFNXNIVDtNQ2d6REo7UUFHUSxlSDA1RE0sRUFBQSxFR3g1RGI7RUFHRDtJQWlLQSx5QlYzeURpRTtJVTR5RGpFLHlCUmpoRVU7SVFtaEVOLGdCVnpuRWEsRUFBQTtJVTRuRVo7TUFDRyxZSDUxREMsRUFBTztJR2cyRFo7TUFDSSxjUjVoRUUsRUFBQTtJUWlpRU47TUFDSSxZSHYyREM7TUd3MkRELGNSbmlFRSxFQUFBO0lRc2lFVjtNQUNJLGNSdmlFTSxFQUFBO0VRazNEVjtJQW1JQSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VRKzJEVjtJQXFHQSx5QlZydkRpRTtJVXN2RGpFLHlCUi84RFU7SVFpOUROLGdCVm5rRWEsRUFBQTtJVXNrRWI7TUFDSSxZSHB5REQsRUFBTztJR3d5RFY7TUFDSSxjUjE5REUsRUFBQTtJUSs5RE47TUFDSSxZSC95REQ7TUdnekRDLGNSaitERSxFQUFBO0lRbytEVjtNQUNJLGNScitETSxFQUFBO0VRbzdEVjtJQUNJLGNSN2hFeUI7SVE4aEV6QixnQkFBZ0IsRUFBQTtFQXZFcEI7SUE0RUEseUJWbHVEaUU7SVVtdURqRSx5QlJoakVhLEVBQUE7SVFrakVUO01BQ0ksWUg1dkRLLEVBQU87SUdnd0RoQjtNQUNJLGNSeGpFSyxFQUFBO0lRMmpFYjtNQUNJLGNSNWpFUztNUTZqRVQsZ0JBQWdCLEVBQUE7RUFyRnBCO0lBQ0ksdUJBQWMsRUFBQTtJQUNkO01BQ0ksWUgzakRRLEVBQU87RUdna0R2QjtJQUNJLGlCQUFpQixF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VixpQnZDa3RKVztJdUNqdEpYLHVCdkMwaEtnQztRdUMxaEtoQyxvQnZDMGhLZ0M7WXVDMWhLaEMsMkJ2QzBoS2dDLEVBQUE7SUVqNUpoQztNcUMvSlI7UUEyQlksZTdDNGFNO1E2QzNhTixpQnZDNmhLTyxFQUFBLEV1Q3I5SmQ7SUFwR0w7TUFrQ2dCLGdCdkNxL0p5QjtNdUNwL0p6QixjNUN0Q0M7TTRDdUNELG1CbkNpQ2dEO01tQ2hDaEQsZ0J2QzhvSmU7TXVDN29KZix5QjdDZ2R3QjtNNkMvY3hCLGNBQWMsRUFBQTtNckN3SHRCO1FxQy9KUjtVQXlDb0IsZ0J2Q3luSlMsRUFBQSxFdUNwbkpoQjtJQTlDYjtNQXlGZ0IsV0FBc0M7TUFDdEMsWUFBdUMsRUFBQTtNQTFGdkQ7UUE0Rm9CLGVBQW1DLEVBQUE7SUE1RnZEO01BaUdZLFdBQVc7TUFDWCx1QnZDODhKNEI7VXVDOThKNUIsb0J2Qzg4SjRCO2N1Qzk4SjVCLDJCdkM4OEo0QixFQUFBO0V1Q2hqS3hDO0lBK0dRLFd2Q3E0SnNCO0l1Q3A0SnRCLFl2Q280SnNCO0l1Q240SnRCLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQix5QjVDckhTO0k0Q3NIVCxpQnZDKzNKdUI7SXVDOTNKdkIsbUJBQW1CO0lBQ25CLHFCNUN4SFM7STRDeUhULGdCOUN2SGE7SThDd0hiLG9ENUNvSWM7STRDcElkLDRDNUNvSWMsRUFBQTtJNEM5UHRCO01BNEhZLGV2QzI0Slk7TXVDMTRKWixrQzVDbUM2QjtNNENsQzdCLGM1Q2pJSztNNENrSUwsOEI1QytIVTtNNEMvSFYsc0I1QytIVSxFQUFBO0k0QzlQdEI7TUFrSVkseUI1Q3JJSztNNENzSUwscUI1Q3RJSztNNEN3SUQsVXZDazNKYztNdUNoM0psQixvRTVDc0hVO000Q3RIViw0RDVDc0hVLEVBQUE7TTRDN1B0QjtRQXlJZ0IsYzdD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QmxEbksyRCxFQUFBO0VrRHNDbkU7SUFpSVEseUJsRHBLMEMsRUFBQTtFa0R2RjFDO0lBQ0kseUJsRGdHRSxFQUFBO0VrRGpHTjtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcERtVytFLEVBQUE7RW9EcFduRjtJQUNJLHlCbERzR0UsRUFBQTtFa0R2R047SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBEbVcrRSxFQUFBO0VvRHBXbkY7SUFDSSx5QmxENEdFLEVBQUE7RWtEN0dOO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtF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dEI7SUE4QlksY3JEbG1CcUI7SXFEbW1CckIsOEJyRGxYVTtJcURrWFYsc0JyRGxYVSxFQUFBO0lxRG1WdEI7TUFpQ2dCLGNyRHJtQmlCO01xRHNtQmpCLDhCckRyWE07TXFEcVhOLHNCckRyWE0sRUFBQTtFcURtVnRCO0lBc0NZLFloRGxZQztJZ0RtWUQsbUNyRHJkK0I7SXFEc2QvQixjckQvakJvRDtJcURna0JwRCxrQkFBa0I7SUFDbEIsZWhEM1pVLEVBQUE7O0FnRGlYdEI7RUErQ1ksWWhEclpFO0VnRHNaRixtQ3JEOWQrQjtFcUQrZC9CLDZCdEQ5bUJLLEVBQUE7O0FzRDZqQmpCO0VBc0RZLFloRDNaSTtFZ0Q0WkosaUNyRHRlMkI7RXFEdWUzQiw2QnREcm5CSyxFQUFBOztBc0Q2akJqQjtFQTZEWSxZaERqYU87RWdEa2FQLGlDckQ3ZTJCO0VxRDhlM0IsNkJ0RDVuQkssRUFBQTs7QXNENmpCakI7RUFvRVksWWhEdmFGO0VnRHdhRSxpQ3JEcGYyQjtFcURxZjNCLGNyRGhrQkUsRUFBQTs7QXFEMGZkO0VBMkVZLFloRDdhSTtFZ0Q4YUosaUNyRDNmMkI7RXFENGYzQixjckQxbEJ1RCxFQUFBOztBcUQ2Z0JuRTtFQWtGWSxZaERuYkQ7RWdEb2JDLGlDckRsZ0IyQjtFcURtZ0IzQixjdERqcEJLLEVBQUE7O0FzRDZqQmpCO0VBeUZZLFloRHpiSDtFZ0QwYkcsbUNyRHhnQitCO0VxRHlnQi9CLGN2RDlWeUQsRUFBQTs7QXVEbVFyRTtFQWdHWSxZaEQvYkg7RWdEZ2NHLGlDckRoaEIyQjtFcURpaEIzQiw2QnREL3BCSyxFQUFBOztBc0Q2akJqQjtFQXVHWSxZaERyY0Q7RWdEc2NDLGlDckR2aEIyQjtFcUR3aEIzQixjckQ3cUJxQixFQUFBOztBcURva0JqQztFQThHWSxZaEQzY0Q7RWdENGNDLGlDckQ5aEIyQjtFcUQraEIzQixjckQzcUJxQixFQUFBOztBcUQyakJqQztFQXFIWSxZaERoZEg7RWdEaWRHLGlDckRyaUIyQjtFcURzaUIzQixjckQzb0JLLEVBQUE7O0FzRHJGakI7Ozs7O0MxRDB5eEJD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QTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLHFEQUFrRTtFQUVsRSwrQ0FBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUallhO0VTa1liLGlCSCtjNEI7RUc5YzVCLGtCQ2pWNEQ7RURrVjVELGdCVHRKZTtFU3VKZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFFWCx5QlQ5SmdDO0VTaUtoQyxxQkhrY3lFO0VHamN6RSxpQkg4YndCO0VHM2J4QixxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFT3BHZDtJdURsQlI7TXREeVNZLDZDQUFvRSxFQUFBLEVzRHZTL0U7RXZEcUJPO0l1RHZCUjtNdEQ2U1EsMEJzRDVTK0w7TXRENFMvTCx1QnNENVMrTDtNdEQ0Uy9MLGtCc0Q1UytMO010RDZTL0wsNENBQWtFLEVBQUEsRXNENVN6RTtFdERpVEc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCUjliSztNUWdjRCxxQlJoY0M7TVFvY0wscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCUmhjeUI7SVFrY3JCLHFCUmxjcUI7SVFzY3pCLDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxzQ1J4ZW9CO0lRNGV4QixtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHNDUnJmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlD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Q3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWm0wMEJDLEVZM3owQkM7RURqWEY7STREbkxSO00zRHljUSwwQjJEeGNpUztNM0R3Y2pTLHVCMkR4Y2lTO00zRHdjalMsa0IyRHhjaVM7TTNEeWNqUyw0Q0FBa0UsRUFBQSxFMkR4Y3pFO0UzRDZjRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJSbFlLO01Rb1lELHFCUnBZQztNUXdZTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RME1OO1FBQ0MsY1IzY0E7UVE0Y0EsOEJSNU1LO1FRNE1MLHNCUjVNSyxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUbGNTO0lTb2NMLHFCVHBjSztJU3djVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7SVFnT1Y7TUFDQyxjUmplSSxFQUFBO0VRcWViO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwsc0NSMWVvQjtJUTRleEIsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNWeEt3RCxFQUFBO0VVNEtqRTtJQUlRLHNDUnZmb0IsRUFBQTtFUTJmNUI7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VRaVI3QztJQUNJLFlIaktxQjtJR2tLckIsa0JIcWZVO0lHcGZWLHVCUjVVc0I7SVE2VXRCLGVIMGZFO0lHdmZFLGdCQUFnQjtJQUVwQixjVDlnQks7SVMrZ0JMLDhCUnBTVTtJUW9TVixzQlJwU1UsRUFBQTtFUXVTbEI7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FtRTlRdEI7RUFDSSxXQUFXLEVBQUE7RTVEeUtQO0k0RDFLUjtNQUdRLDBCQUFrQjtNQUFsQix1QkFBa0I7TUFBbEIsa0JBQWtCLEVBQUEsRUFFekI7O0FBR0Q7RUFDSSxrQkFBa0IsRUFBQTtFQUR0QjtJQUdRLGVBQWUsRUFBQTtFQUh2QjtJQU9RLFdBQVc7SUFDWCxZQUFZO0lBRVosa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPLEVBQUE7RUFaZjtJQWVRLGFBQWEsRUFBQTs7QUFJckI7RUFDSSxnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7RTVEa0pmO0k0RHBKUjtNQUlRLG1CQUFtQixFQUFBLEVBcUIxQjtFQXpCRDtJQU9RLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsY3BFRFM7SW9FRVQsZ0JBQWdCLEVBQUE7STVEcUloQjtNNEQvSVI7UUFZWSwwQkFBa0I7UUFBbEIsdUJBQWtCO1FBQWxCLGtCQUFrQjtRQUNsQixrQkFBa0IsRUFBQSxFQUV6QjtFQWZMO0lBaUJRLHdCQUE2RixFQUFBO0k1RG1JN0Y7TTREcEpSO1FBbUJZLFlBQVksRUFBQSxFQUVuQjtFQXJCTDtJQXVCUSxpQkFBaUIsRUFBQTs7QUFJekI7RUFDSSxTQUFTLEVBQUE7O0FDaEViOzs7Ozs7Ozs7Ozs7Q3hFNjgxQkM7QXlFNzgxQkQ7OztDekVpOTFCQztBeUU1ODFCRDtFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7RUFGMUI7SUFJUSx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0VBSjNCO0lBU1ksU0FBUztJQUNULG9CNUQrRW9ELEVBQUE7RTREekZoRTtJQWNRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsOEJBQW1CO0lBQW5CLDZCQUFtQjtRQUFuQix1QkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CQUFlO1FBQWYsZUFBZTtJQUNmLFNBQVMsRUFBQTtJOURrS1Q7TThEbkxSO1FBbUJZLGFBQWEsRUFBQSxFQUVwQjtFQXJCTDtJQXVCUSxrQkFBa0IsRUFBQTtFQXZCMUI7SUEwQlEsU0FBUztJQUNULGtCNUQ4RHdEO0k0RDdEeEQsY3RFV1MsRUFBQTtFc0V2Q2pCO0lBZ0NRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IsMkJBQXFCO1FBQXJCLHdCQUFxQjtZQUFyQixxQkFBcUI7SUFFckIsaUJBQWlCO0lBQ2pCLHlCckVQeUI7SXFFU3JCLGdCdkVoQlM7SXVFa0JiLGN0RURTO0lzRUVULG1CNURnRHdEO0k0RC9DeEQsZUFBZTtJQUNmLDBFckV1T2M7SXFFdk9kLGtFckV1T2M7SXFFdk9kLDBEckV1T2M7SXFFdk9kLG1GckV1T2MsRUFBQTtJcUVsUnRCO01BNkNZLGNyRW1DSztNcUVsQ0wseUJyRWhDUztNcUVpQ1QseURyRTBPc0M7Y3FFMU90QyxpRHJFME9zQztNcUV6T3RDLDBFckVpT1U7TXFFak9WLGtFckVpT1U7TXFFak9WLDBEckVpT1U7TXFFak9WLG1GckVpT1UsRUFBQTtJcUVqUnRCO01BbURZLGNyRVZxQixFQUFBO0lxRXpDakM7TUFzRFksY0FBYyxFQUFBO0lBdEQxQjtNQXlEWSxlQUFlLEVBQUE7SUF6RDNCO01BNkRnQixZaEUyVUE7TWdFMVVBLGlCQUFpQjtNQUNqQixpQ3JFc0h1QjtNcUVySHZCLGVBQWU7TUFDZixjdEUxQkM7TXNFMkJELDhCckVnTk07TXFFaE5OLHNCckVnTk0sRUFBQTtJcUVsUnRCO01BcUVnQixjckVXQztNcUVWRCw4QnJFMk1NO01xRTNNTixzQnJFMk1NLEVBQUE7SXFFalJ0QjtNQXlFZ0IsY3JFaENpQixFQUFBOztBc0U5Q2pDOzs7QzFFNmcyQkM7QTBFeGcyQkQ7RUFHWSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLGNBQWM7RUFFZCxXQUFXLEVBQUE7O0FDZnZCOzs7OztDM0U0aDJCQztBNEU1aDJCRDs7Ozs7QzVFa2kyQkM7QTRFM2gyQkQ7RUFHWSx5QnhFeUR1QztFd0V4RHZDLGFuRTRySUc7RW1FMXJJQyxnQjFFY0ssRUFBQTtFU3dKYjtJaUU1S1I7TUFTZ0IsZ0JuRXdySUcsRUFBQSxFbUVucklWO0VqRW1LRDtJaUVqTFI7TUFZZ0IsbUJuRXNySUssRUFBQSxF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LHFCQUFrQyxFQUFBOztBQUdwQztFQXhCQSxrQmhGMEVXO0VnRnpFWCxnQmhGb0U4RDtFZ0ZuRTlELHlCekZPK0IsRUFBQTtFeUZML0I7SUFFRSxTQUFTO0lBQ1QsdUJoRjhENEQ7SWdGN0Q1RCxvQmhGNkQ0RCxFQUFBOztBeUU4RzlEO0VRckxBLGVBRnNKO0VBR3RKLGdCakZzRThEO0VpRnJFOUQsZTdFOGIrQjtFNkU1Yi9CLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLHlCM0ZvUG1EO0UyRm5QbkQsZ0I1RkZtQjtFNEZHbkIseUIxRlJlO0UwRlVmLHFFM0Zkd0U7RTJGZXhFLG1CakY2RDhEO0VpRjVEOUQsbUI3RTREMkI7RTZFM0QzQixnQjNGeUl1QjtFMkZ4SXZCLGMxRlUrQjtFbUZ3Ry9CLHdPQUF5TjtFTzlHdk4sOEJBQThCO0VBQzlCLHVDQUEwRDtFQUMxRCw0QkFBNEI7RUFDNUIsd0JBQXdCO0VBRXhCLHFCQUF1RDtFQUl2RCw4RDFGc09rQjtFMEZ0T2xCLHNEMUZzT2tCO0UwRnRPbEIsOEMxRnNPa0I7RTBGdE9sQix1RTFGc09rQixFQUFBO0VtRi9IcEI7SURvREE7TUNqREksdVdBQXVXLEVBQUEsRU9uRTFXO0VBbkNEO0lBQ0UsYUFBYTtJQUNiLHlCMUZ4QjRCO0kwRnlCNUIseUIxRmxDYTtJMEZtQ2IsNEQxRnVPaUQ7WTBGdk9qRCxvRDFGdU9pRDtJMEZwTy9DLDhEMUYyTmdCO0kwRjNOaEIsc0QxRjJOZ0I7STBGM05oQiw4QzFGMk5nQjtJMEYzTmhCLHVFMUYyTmdCLEVBQUE7RTBGdE5wQjtJQUNFLHlCMUZoQzZCO0kwRmlDN0IsbUI3RXVaK0IsRUFBQTtFNkVuWmpDO0lBQ0UsYUFBYSxFQUFBO0VBR2Y7SUFDRSxZQUFZO0lBQ1osc0JBQXNCLEVBQUE7RUFFeEI7SUFDRSxjQUFjO0lBQ2QsaUJBQWlCLEVBQUE7O0FDckNuQjtFQUNFLHFCM0ZnR1U7RTJGL0ZWLHlCQUErRCxFQUFBO0VBRS9EO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7O0FZKy9CZ0M7RStFaGtDeEMsYzNGaUVRLEVBQUE7O0EyRjVEWjtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CbEZvQzhEO0VrRmxDOUQsbUJsRmtDOEQ7RWtGakM5RCxnQnRGa2dCMkI7RXNGamdCM0IsYzNGK0VZLEVBQUE7RTJGNURaO0lBSUksY0FBYyxFQUFBOztBekM0WXBCO0U1QnhiTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0VzRXZCakUsaUJ2Rk9tQjtFdUZObkIsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0VDUmxCO0l2RTZCSSx1QkFBNkQ7SUFBN0Qsc0JBQTZEO0lzRXZCakUsZUNGbUM7SURHbkMsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0VDUmxCO0l2RTZCSSxnQkFBNkQ7SUFBN0QsZUFBNkQ7SXNFdkJqRSxlQ0VtQztJRERuQyxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7O0FDS2xCO0VEU0Esb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFIcUI7RUFHckIsNkJBSHFCO01BR3JCLHVCQUhxQjtVQUdyQixtQkFIcUIsRUFBQTs7QUNIckI7RXBFcUdBLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNO0VBSUosYUFBYTtFQUNiLFlBQVk7RUFzQ1osV0EvRWlDLEVBQUE7RW9FakVuQztJcEVxR0EsbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU0sRUFBQTtFb0VyR047SXBFcUdBLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7O0FvRXpGTjtFcEVvSUUsV0EzRlksRUFBQTs7QW9FekNkO0VwRW9JRSxXQTNGWSxFQUFBOztBb0V6Qlo7RUFNSSw2QkFBZ0I7TUFBaEIsZ0JBQWdCLEVBQUE7O0F0Rm9IaEI7RXNGMUhKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBdEZ3SEM7RXNGL0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBdEZ3SEM7RXNGL0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBQVlIO0VwRXNERixtQkFBTTtNQUFOLGtCQUFNO1VBQU4sY0FBTSxFQUFBOztBb0V2Q0Y7RXBFa0ZGLGVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsVXFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixVcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFdxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFc0Y1R0Y7SXBFMkRKLG1CQUFNO1FBQU4saUJBQU07WUFBTixXQUFNO0lBMkNKLFdBM0ZZLEVBQUE7RW9FTlo7SXBFc0RGLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RW9FaERGO0lwRTJGRixXQTNGWSxFQUFBO0VvRVNWO0lwRWtGRixlcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsV3FFNUJnRSxFQUFBLEVEbkQ3RDs7QXRGMEZDO0VzRmpIRjtJcEUyREosbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU07SUEyQ0osV0EzRlksRUFBQTtFb0VOWjtJcEVzREYsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0VoREY7SXBFMkZGLFdBM0ZZLEVBQUE7RW9FU1Y7SXBFa0ZGLGVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixXcUU1QmdFLEVBQUEsRURuRDdEOztBdEYwRkM7RXNGakhGO0lwRTJESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTTtJQTJDSixXQTNGWSxFQUFBO0VvRU5aO0lwRXNERixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRWhERjtJcEUyRkYsV0EzRlksRUFBQTtFb0VTVjtJcEVrRkYsZXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFdxRTVCZ0UsRUFBQSxFRG5EN0Q7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0V2RXZHTSx1QkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00sc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDRCQXREMEU7SUg5RXhFLHNCQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSwyQkF0RDBFO01IOUV4RSxxQkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsV0EzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFdBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxnQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxXQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsV0EzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLCtCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQSxFb0VNekU7O0FBOENIO0V2RTNJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RWZtSjdEO0lzRlJOO012RTNJTSx1QkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFZ0poRTs7QUFJRDtFdkVwSkksd0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VmbUo3RDtJc0ZDSjtNdkVwSkksdUJBQTZEO01BQTdELHNCQUE2RCxFQUFBLEV1RXNKaEU7O0FBWEg7RXZFM0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFZm1KN0Q7SXNGUk47TXZFM0lNLHVCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUUySmhFOztBRTNKSDtFdEU2SUUsV3FFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxVcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsZ0JxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFlxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFd0ZuSk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0FBRkQ7RXRFNklFLDRCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLDJCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsNkJBdEQwRSxFQUFBOztBbEI0RHRFO0V3Rm5KTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBLEVzRXJGM0U7O0F4RnNKSztFd0Z4Sk47SXRFNklFLDJCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSw0QkF0RDBFLEVBQUEsRXNFckYzRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQSxFc0VyRjNFOztBRnFNRztFRzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUE7RXZGa0M1RDtJeUYvSEk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBSHVMUDtFRzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6RjhHOUI7RXNGb0RGO0lHOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekZtSkM7RXlGeElJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGc0lMO0V5Ri9ISTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGNkhMO0VzRjBERjtJRzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6RmlIQztFc0YrQ0Y7SUc5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6RndKQztFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXNGcURGO0lHN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpGaUhDO0VzRitDRjtJRzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpGd0pDO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFc0ZxREY7SUc3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSG9MRDtFSW5NRixlQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsb0NBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixxQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDBDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QTFGMkh6QjtFc0Z3RUY7SUluTUYsZUFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsbUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHFCQUE2QixFQUFBO0VKdU0zQjtJSXZNRix5Q0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBLEVKeU0xQjs7QXRGekVDO0VzRm1FRjtJSW5NRixlQUE2QixFQUFBO0VKdU0zQjtJSXZNRixtQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYscUJBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLHlDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUEsRUp5TTFCOztBdEZ6RUM7RXNGbUVGO0lJbk1GLGVBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG1DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixxQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYseUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsZ0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLG9DQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQSxFSnlNMUI7O0FBekpTO0VEdEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUNpUDdCO0lwRWpJQSxZQUFtQjtJQUNuQixnQkFBMkIsRUFBQTtFb0VnSTNCO0lwRXBHRSxZQTNGWSxFQUFBO0VvRStMZDtJcEVwR0UsWUEzRlksRUFBQTtFb0UrTGQ7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBO0V0RnpIaEI7SXNGOEZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFdEZySEM7SXNGeUZOO01BMkJNLDZCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFQTVCTDtJcEUvSUEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0UrSU47SXBFcEdFLGdCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsV3FFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxXcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsaUJxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLFdxRTVCZ0UsRUFBQTtFRGdJbEU7SXBFcEdFLGlCcUU1QmdFLEVBQUE7RURnSWxFO0lwRXBHRSxpQnFFNUJnRSxFQUFBO0VEZ0lsRTtJcEVwR0UsWXFFNUJnRSxFQUFBO0V2RmtDNUQ7SXNGOEZOO01wRS9JQSxtQkFBTTtVQUFOLGlCQUFNO2NBQU4sV0FBTTtNQTJDSixZQTNGWSxFQUFBO0lvRStMZDtNcEUvSUEsbUJBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJb0UrSU47TXBFcEdFLFlBM0ZZLEVBQUE7SW9FK0xkO01wRXBHRSxnQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFlxRTVCZ0UsRUFBQSxFRHlMM0Q7RXRGbEpEO0lzRnlGTjtNcEUvSUEsbUJBQU07VUFBTixpQkFBTTtjQUFOLFdBQU07TUEyQ0osWUEzRlksRUFBQTtJb0UrTGQ7TXBFL0lBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SW9FK0lOO01wRXBHRSxZQTNGWSxFQUFBO0lvRStMZDtNcEVwR0UsZ0JxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxZcUU1QmdFLEVBQUEsRUR5TDNEO0V0RmxKRDtJc0Z5Rk47TXBFL0lBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixXQUFNO01BMkNKLFlBM0ZZLEVBQUE7SW9FK0xkO01wRS9JQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lvRStJTjtNcEVwR0UsWUEzRlksRUFBQTtJb0UrTGQ7TXBFcEdFLGdCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsWXFFNUJnRSxFQUFBLEVEeUwzRDs7QUFPTDtFdkVqVEksc0JBQTZEO0VBQTdELHlCQUE2RCxFQUFBO0VmbUo3RDtJc0Y4Sko7TXZFalRJLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFdUVxVDlEOztBQUpIO0V2RWpUSSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjhKSjtNdkVqVEkscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RTBUOUQ7O0FBbk5MO0V2RXZHTSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00scUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDZCQXREMEU7SUg5RXhFLHFCQUE2RDtJQUE3RCx3QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSw0QkF0RDBFO01IOUV4RSxvQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsWUEzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFlBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVr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RWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7O0FBa1REO0VLdFlJLDhCQUFtQyxFQUFBO0UzRjBJbkM7SXNGNFBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0Qzs7QXRGOVBHO0VzRmdRRjtJSzFZ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QTs7QURrRmY7RUN4QkYsMEJBMURpQjtNQTBEakIsc0JBMURpQixFQUFBOztBRDhFZjtFQ3BDRixzQkF6Q2tCO01BeUNsQixtQkF6Q2tCO1VBeUNsQixxQkF6Q2tCLEVBQUE7O0FEaUZoQjtFQ3hCRix3QkF6RGtCO01BeURsQixvQkF6RGtCLEVBQUE7O0FENkVoQjtFQ3BDRix5QkF4Q2dCO01Bd0NoQixzQkF4Q2dCO1VBd0NoQixtQkF4Q2dCLEVBQUE7O0FEZ0ZkO0VDeEJGLDJCQXhEZ0I7TUF3RGhCLGtCQXhEZ0IsRUFBQTs7QUQ0RWQ7RUNwQ0YsMEJBdkNrQjtNQXVDbEIsdUJBdkNrQjtVQXVDbEIsb0JBdkNrQixFQUFBOztBRCtFaEI7RUN4QkYsNEJBdkRrQjtNQXVEbEIsbUJBdkRrQixFQUFBOztBRHFGbEI7RUMvQ0Esd0JBbkRrQjtNQW1EbEIscUJBbkRrQjtVQW1EbEIsdUJBbkRrQjtFQW9EbEIseUJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQjtFRHdGZCwwQkFBcUI7TUFBckIscUJBQXFCLEVBQUE7O0FBTW5CO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBOUdzRVY7RThHckVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBOUd3RUM7RThHMUVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBOUd3RUM7RThHMUVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBQS9GTDtFQ1lB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QUFnQixFQUFBO1FBeHZCaEM7VUEwdkJvQixjeEh4dEJILEVBQUE7UXdIbENqQjtVQTZ2Qm9CLGN6SHB3QkgsRUFBQTtJeUhPakI7TUFtd0JZLGtDQUF1RSxFQUFBO0lBbndCbkY7TUF1d0JZLGN6SDl3QkssRUFBQTtJUTRJVDtNaUhySVI7UUEyd0JnQix5QnhIeHlCQyxFQUFBO1F3SDZCakI7VUFneEI0Qixjekh2eEJYLEVBQUEsRXlId3hCUTtJakg1b0JqQjtNaUhySVI7UUF5eEJ3QixZekh2eUJoQjtReUh3eUJnQixjeEh4eUJTLEVBQUEsRXdIeXlCWjs7QUFRckI7RUFJZ0IscUJBQXFCO0VBRXJCLGtCbkh5bkRxQjtFbUh4bkRyQixnQm5IeW5EbUI7RW1IeG5EbkIsY3hIeDBCQztFd0h5MEJELGlDeEhycUJ1QjtFd0hzcUJ2Qiw2QnhINzBCSztFd0g4MEJMLG1CeEg5a0JvQjtFd0gra0JwQixxRHhIM2tCTTtFd0gya0JOLDZDeEgza0JNLEVBQUE7O0F3SCtqQnRCO0VBZ0JvQixjeEhoMUJIO0V3SGkxQkcseUJ4SDkwQkg7RXdIKzBCRyxxRHhIbGxCRTtFd0hrbEJGLDZDeEhsbEJFLEVBQUE7O0F3SGdrQnRCO0VBdUJvQixjeEh2MUJIO0V3SHcxQkcseUJ6SGwwQkgsRUFBQTs7QXlIMHlCakI7RUFpQ2dCLFluSHBqQkw7RW1Id2pCSyxlbkh5bERlLEVBQUE7O0FtSDluRC9CO0VBMENnQixtQi9HbHlCZ0QsRUFBQTtFK0d3dkJoRTtJQWdEZ0IsWW5IbGtCRDtJbUhza0JDLGlDQUErQztZQUEvQyx5QkFBK0M7SUFDL0MsaUJuSHlsRHVCO0ltSHhsRHZCLGVuSHdrRGUsRUFBQTs7QW1IM2lEL0I7RUFDSSxnQkFBZ0I7RUFDaEIsa0JBQWtCLEVBQUE7O0FBeGVUO0VBNmVULFlBQVk7RUFDWixZQUFZO0VBRVIsc0IxSHg1QmEsRUFBQTtFUzZKYjtJaUh1dkJSO01oSG8xRVEsb0JIM2ZnQztNRzZmcEMsNERScitGaUQ7Y1FxK0ZqRCxvRFJyK0ZpRDtNUTArRmpELDRCVDl0R2E7TVMrdEdiLHVCQUFtRDtN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LEVvSG5vR0Y7TUF6UWI7UUEyUWdCLHlCQUFxQjtRQVdyQix5QnpIcFpnQjtReUhzWlosZ0IzSDFaQztRMkg0WkwseUJ6SGphQztReUhrYUQsNEJ6SGpLTTtReUhpS04sb0J6SGpLTSxFQUFBO1FPcEdkO1VrSHRCUjtZQTZSb0IsNEJwSDRvR1E7Z0JvSDVvR1IsaUJwSDRvR1E7b0JvSDVvR1IsUXBING9HUSxFQUFBLEVvSDFuR2Y7UWxIcFJMO1VrSDNCUjtZQWlTb0Isb0JBQWE7WUFBYixvQkFBYTtZQUFiLGFBQWE7WUFDYixnQkFBZ0IsRUFBQSxFQWF2QjtRQS9TYjtVQXlTb0IsWUFBWTtVQUVSLGdCM0g3YUgsRUFBQTtNVXdvQmpCO1FpSHBOWSxvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLDRCQUFzQjtRQUF0Qiw2QkFBc0I7WUFBdEIsMEJBQXNCO2dCQUF0QixzQkFBc0I7UUFDdEIsU3BIcWxHNkI7UW9IcGxHN0IsU3BIc2xHSixFQUFBO1FFcjNHSjtVQ2dmSjtZaUgvTWdCLDRCcEhtbkdjO2dCb0hubkdkLGlCcEhtbkdjO29Cb0hubkdkLFFwSG1uR2MsRUFBQSxFb0g5bEdyQjtRbEhqVEw7VUMyZUo7WWlIMU1nQixtQkFBTztnQkFBUCxXQUFPO29CQUFQLE9BQU87WUFDUCxjcEgra0dILEVBQUEsRW9IaGtHSjtRQTVVYjtVQWdVb0IsZ0JBQWdCO1VBQ2hCLG1CaEhoWTRDLEVBQUE7UUQybEQ1RDtVQUNJLGNSNW9EeUI7VVE2b0R6QixtQkM3bER3RDtVRDhsRHhELGdCSHVpQnNDO1VHdGlCdEMsZ0JUamhEaUIsRUFBQTtVU2toRGpCO1lBQ0ksY1RucERLO1lTb3BETCwwQkFBMEIsRUFBQTtVQUU5QjtZQUNJLGNSOW1ESyxFQUFBO1F5SHdFakI7VUFxVW9CLG1CaEhwWTRDO1VnSHFZNUMsZ0JwSHlrRzZCO1VvSHhrRzdCLGN6SDNjSCxFQUFBO1V5SG9JakI7WUF5VXdCLFNBQVMsRUFBQTtNakhnTTdCO1FpSHhMWSxtQmhIaFpnRCxFQUFBO1FGcUZ4RDtVQ21mSjtZaUh0TGdCLDRCcEh3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dUQ7RUFBdkQscUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsd0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHNDQUF1RDtFbUhqcUczRCx1QkFB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VTtJUXM0RVYsNkRSdDRFVSxFQUFBO0kySHNHdEI7TW5Ia3lFZ0IsWUhodkVJO01HaXZFSixtQ1JyK0UyQjtNUXMrRTNCLGVBQWU7TUFDZixjUjVvRkM7TVE2b0ZELDhDUjU0RU07TVE0NEVOLHNDUjU0RU0sRUFBQTtJMkhzR3RCO01uSHl5RWdCLHlCVDFuRkM7TVMybkZELHlDUmo1RU07TVFpNUVOLGlDUmo1RU0sRUFBQTtJMkh1R3RCO01uSDZ5RWdCLHlCVDluRkMsRUFBQTtNNEhpVmpCO1FuSCt5RW9CLGlDUmwvRW1CLEVBQUE7STJIbU12QztNbkhtekVnQixhQUFhO01BQ2IsV0FBVztNQUNYLDhDUjU1RU07TVE0NUVOLHNDUjU1RU0sRUFBQTtNMkh1R3RCO1FuSHV6RW9CLGVBQWU7UUFDZixrQ1IvNUVFO1FRKzVFRiwwQlIvNUVFLEVBQUEiLCJmaWxlIjoiamVsYXdyZW5jZS9hcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXHJcblxyXG5UaGlzIGlzIHRoZSBiYXNlIG9mIHRoZSBhcHAuY3NzIGZpbGUsIHRvIG1vZGlmeSB0aGUgY29uZmlndXJhdGlvbiBvdCBhIHNpdGUgbGV2ZWwgZ28gdG8gL2JyYW5kaW5nLnNjc3MgaWYgeW91IG5lZWQgbW9kaWZ5IHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiBvZiBhbGwgc2l0ZXMgZ28gdG8gL2dsb2JhbC92YXJpYWJsZXMuc2Nzcy5cclxuXHJcblsgSU1QT1JUQU5UIF0gLSBObyBCRVNQT0tFIENTUyBSVUxFJ1Mgc2hvdWxkIGJlIHNwZWNpZmllZCBoZXJlIG9yIGluIGJyYW5kaW5nLnNjc3MsIGlmIHlvdSBuZWVkIHRvIG1vZGlmeSB0aGUgY3NzIGRvIGl0IGluIGVpdGhlciAvZ2xvYmFsIG9yIGluIC9jb21wb25hbnRzIG90aGVyd2lzZSBpdCB3aWxsIGNhdXNlIHRlYXJzLCBJRiB5b3UgcmVhbGx5IGhhdmUgdG8gdG8gaXQgaW4gdGhlIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuc2NzcyB1bmRlciBhbGwgb2YgdGhlIFNBU1Mgb3ZlcnJpZGVzLlxyXG5cclxuKiovXG4vKlxyXG5cclxudmFsdWVzIGNhbiBiZSBlaXRoZXIgYSBsaXN0IG9yIG1hcC5cclxuXHJcbkJyZWFrcG9pbnQgdmFsdWVzOlxyXG5TbWFsbCA9IDFcclxuTWVkaXVtID0gMlxyXG5MYXJnZSA9IDNcclxueExhcmdlID0gNFxyXG54eExhcmdlID0gNVxyXG5cclxuKi9cbi8qKlxyXG5cclxuU2l0ZSBzcGVjaWZpYyBicmFuZGluZyAoIGNvbG91cnMgJiBmb250cyApIGFueSBzYXNzIG92ZXJyaWRlcyBnZXQgZGVmaW5lZCBoZXJlIGFzIHdlbGwuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gWW91IG1heWJlIGNvbXBlbGxlZCB0byB3cml0ZSBiZXNwb2tlIGNzcyBydWxlcyBhdCB0aGUgYm90dG9tIG9mIHRoZSBmaWxlIGp1c3QgdG8gbWFrZSBhIFwiIHF1aWNrIFwiIHNpdGUgc3BlY2lmaWMgY2hhbmdlIGJ1dCB0aGlzIFdJTEwgY29uZmxpY3Qgd2l0aCB0aGUgY3NzIGJlaW5nIGRlZmluZWQgaW4gL2dsb2JhbCBhbmQgL2NvbXBvbmVudCBlaXRoZXIgZnJvbSBhIGNvbmZpZ3VyYXRpb24gc3RhbmNlIG9yIHJlc3BvbnNpdmUgcG9pbnQgb2Ygdmlldywgc28gcGxlYXNlIGNvbnN1bHQvbW9kaWZ5IHRob3NlIDIgZGlyZWN0b3JpZXMgYXMgbmVlZGVkLCB0aGlzIGZpbGUgd2FzIG9ubHkgdG8gZGVzaWduZWQgZm9yIFNBU1MgdmFyaWFibGVzLlxyXG5cclxuKiovXG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOml0YWwsd2dodEAwLDQwMDswLDUwMDswLDcwMDsxLDMwMDsxLDQwMDsxLDUwMDsxLDcwMCZkaXNwbGF5PXN3YXBcIik7XG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWJyYW5kczogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIC0tZmEtZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5mYWIsXG4uZmEtYnJhbmRzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7IH1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cblxuLmZhLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjsgfVxuXG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiOyB9XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjsgfVxuXG4uZmEtc2hvcHdhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOFwiOyB9XG5cbi5mYS1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzVcIjsgfVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JjXCI7IH1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7IH1cblxuLmZhLWNsb3VkZmxhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2RcIjsgfVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UwXCI7IH1cblxuLmZhLXBpeGl2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjQwXCI7IH1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjsgfVxuXG4uZmEtZHlhbG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk5XCI7IH1cblxuLmZhLWJpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjsgfVxuXG4uZmEtc3RhY2twYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQyXCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjsgfVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiOyB9XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdlXCI7IH1cblxuLmZhLXZudjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiOyB9XG5cbi5mYS1zcXVhcmUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjsgfVxuXG4uZmEtanMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I5XCI7IH1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYVwiOyB9XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG5cbi5mYS1vcmNpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhkMlwiOyB9XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7IH1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IwXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVkXCI7IH1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjsgfVxuXG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNlwiOyB9XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjsgfVxuXG4uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU3XCI7IH1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH1cblxuLmZhLXdobWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjsgfVxuXG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjsgfVxuXG4uZmEtdW50YXBwZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNVwiOyB9XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWVcIjsgfVxuXG4uZmEtY3NzMy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjsgfVxuXG4uZmEtc3F1YXJlLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7IH1cblxuLmZhLXZpbWVvLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjsgfVxuXG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7IH1cblxuLmZhLXNxdWFyZS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWRcIjsgfVxuXG4uZmEtZGVza3BybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5cbi5mYS1icmF2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzY1wiOyB9XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cblxuLmZhLXNxdWFyZS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZmEtaW5zdGFncmFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5mYS1iYXR0bGUtbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM1XCI7IH1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5ZFwiOyB9XG5cbi5mYS1zcXVhcmUtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjsgfVxuXG4uZmEtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOFwiOyB9XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QyXCI7IH1cblxuLmZhLXNxdWFyZS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdhXCI7IH1cblxuLmZhLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7IH1cblxuLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTFcIjsgfVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG5cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTFcIjsgfVxuXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThjXCI7IH1cblxuLmZhLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjsgfVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWZcIjsgfVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7IH1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiOyB9XG5cbi5mYS1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YlwiOyB9XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7IH1cblxuLmZhLW5pbWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhOFwiOyB9XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM4XCI7IH1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM5XCI7IH1cblxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjBcIjsgfVxuXG4uZmEtYWR2ZXJzYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZVwiOyB9XG5cbi5mYS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MFwiOyB9XG5cbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjsgfVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MVwiOyB9XG5cbi5mYS1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7IH1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMlwiOyB9XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7IH1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7IH1cblxuLmZhLXNxdWFyZS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiOyB9XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTBcIjsgfVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg5XCI7IH1cblxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7IH1cblxuLmZhLW9wZW5zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJiXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cblxuLmZhLXNxdWFyZS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjsgfVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOVwiOyB9XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjsgfVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjsgfVxuXG4uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE2XCI7IH1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiOyB9XG5cbi5mYS1kZWJpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGJcIjsgfVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cblxuLmZhLWluc3RhbG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZVwiOyB9XG5cbi5mYS1zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5cbi5mYS1zcXVhcmUtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS1yLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjsgfVxuXG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7IH1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTRcIjsgfVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjsgfVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjlcIjsgfVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG5cbi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTJcIjsgfVxuXG4uZmEtYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZmXCI7IH1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjsgfVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjsgfVxuXG4uZmEtZ29sYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDBmXCI7IH1cblxuLmZhLWtpY2tzdGFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JiXCI7IH1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjsgfVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjsgfVxuXG4uZmEtdW5jaGFydGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjsgfVxuXG4uZmEtc3F1YXJlLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjsgfVxuXG4uZmEtd3ByZXNzcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNFwiOyB9XG5cbi5mYS1yZW5kYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5cbi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwY1wiOyB9XG5cbi5mYS1uZmMtZGlyZWN0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzBcIjsgfVxuXG4uZmEtc2t5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjsgfVxuXG4uZmEtam9nZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjdcIjsgfVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk4XCI7IH1cblxuLmZhLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7IH1cblxuLmZhLW1ldGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OWJcIjsgfVxuXG4uZmEtbGFyYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZFwiOyB9XG5cbi5mYS1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjFcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjsgfVxuXG4uZmEtc3F1YXJlLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmVcIjsgfVxuXG4uZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y3XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmM1wiOyB9XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUyXCI7IH1cblxuLmZhLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjsgfVxuXG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7IH1cblxuLmZhLWRpc2NvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjsgfVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7IH1cblxuLmZhLWFwcC1zdG9yZS1pb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzBcIjsgfVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjsgfVxuXG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiOyB9XG5cbi5mYS1jb25mbHVlbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhkXCI7IH1cblxuLmZhLXNob2VsYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBjXCI7IH1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjYVwiOyB9XG5cbi5mYS1kb2NodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTRcIjsgfVxuXG4uZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjRcIjsgfVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcwXCI7IH1cblxuLmZhLXVuc3BsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdjXCI7IH1cblxuLmZhLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjsgfVxuXG4uZmEtc3F1YXJlLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG5cbi5mYS01MDBweDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5cbi5mYS1zcXVhcmUtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjsgfVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7IH1cblxuLmZhLWFzeW1tZXRyaWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzJcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjsgfVxuXG4uZmEtaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZlwiOyB9XG5cbi5mYS1naXRrcmFrZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTZcIjsgfVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNVwiOyB9XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTVcIjsgfVxuXG4uZmEtcGFkbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNGEwXCI7IH1cblxuLmZhLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmNcIjsgfVxuXG4uZmEtc3F1YXJlLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiOyB9XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7IH1cblxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7IH1cblxuLmZhLWZlZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk3XCI7IH1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RjXCI7IH1cblxuLmZhLXNob3BpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjsgfVxuXG4uZmEtbmVvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMlwiOyB9XG5cbi5mYS1zcXVhcmUtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOVwiOyB9XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWY3XCI7IH1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOFwiOyB9XG5cbi5mYS1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlMVwiOyB9XG5cbi5mYS1hbmd1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIwXCI7IH1cblxuLmZhLXNwZWFrYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjNcIjsgfVxuXG4uZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiOyB9XG5cbi5mYS15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjsgfVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cblxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiOyB9XG5cbi5mYS1nb29nbGUtc2Nob2xhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzYlwiOyB9XG5cbi5mYS1zcXVhcmUtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFlXCI7IH1cblxuLmZhLWdpdGxhYi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWVcIjsgfVxuXG4uZmEtc3R1ZGlvdmluYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y4XCI7IH1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjsgfVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiOyB9XG5cbi5mYS1maXJlZm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG5cbi5mYS1nb29kcmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYThcIjsgfVxuXG4uZmEtc3F1YXJlLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjsgfVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiOyB9XG5cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjsgfVxuXG4uZmEtcGFnZTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjsgfVxuXG4uZmEtaGFzaG5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OTlcIjsgfVxuXG4uZmEtcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWJcIjsgfVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7IH1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYyXCI7IH1cblxuLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjsgfVxuXG4uZmEta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JhXCI7IH1cblxuLmZhLW9wZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZhXCI7IH1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2FcIjsgfVxuXG4uZmEtdW1icmFjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlOFwiOyB9XG5cbi5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGRcIjsgfVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RmXCI7IH1cblxuLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTZcIjsgfVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7IH1cblxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7IH1cblxuLmZhLWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7IH1cblxuLmZhLWRobDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MFwiOyB9XG5cbi5mYS1zcXVhcmUtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjsgfVxuXG4uZmEteGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG5cbi5mYS1ibGFja2JlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdiXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjsgfVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjsgfVxuXG4uZmEtcXVpbnNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7IH1cblxuLmZhLWxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWRcIjsgfVxuXG4uZmEtYmxvZ2dlci1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdkXCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cblxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjsgfVxuXG4uZmEtc2lnbmFsLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY2M1wiOyB9XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWRcIjsgfVxuXG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7IH1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MVwiOyB9XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG5cbi5mYS1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiOyB9XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cblxuLmZhLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNlwiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cblxuLmZhLW5mYy1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzFcIjsgfVxuXG4uZmEtbWludGJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyZlwiOyB9XG5cbi5mYS1ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZVwiOyB9XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOVwiOyB9XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7IH1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjsgfVxuXG4uZmEtZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmMVwiOyB9XG5cbi5mYS1nb2ZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjsgfVxuXG4uZmEtYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7IH1cblxuLmZhLWJyYXZlLXJldmVyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2M2RcIjsgfVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS1zcXVhcmUtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ0XCI7IH1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7IH1cblxuLmZhLWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYVwiOyB9XG5cbi5mYS1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWFcIjsgfVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiOyB9XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiOyB9XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjsgfVxuXG4uZmEtZnVsY3J1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYlwiOyB9XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7IH1cblxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7IH1cblxuLmZhLW1penVuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiOyB9XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjsgfVxuXG4uZmEtc3F1YXJlLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjsgfVxuXG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG5cbi5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODVcIjsgfVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiOyB9XG5cbi5mYS1tZWdhcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhM1wiOyB9XG5cbi5mYS1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M0XCI7IH1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjsgfVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiOyB9XG5cbi5mYS1mbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjsgfVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIxXCI7IH1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiOyB9XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhjXCI7IH1cblxuLmZhLWJsb2dnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjsgfVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7IH1cblxuLmZhLXZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA5XCI7IH1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjsgfVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7IH1cblxuLmZhLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmRcIjsgfVxuXG4uZmEtc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiOyB9XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjsgfVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiOyB9XG5cbi5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjsgfVxuXG4uZmEtYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3M1wiOyB9XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMVwiOyB9XG5cbi5mYS1iaWxpYmlsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTNkOVwiOyB9XG5cbi5mYS1lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjsgfVxuXG4uZmEteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFiXCI7IH1cblxuLmZhLWNvdHRvbi1idXJlYXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OWVcIjsgfVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjsgfVxuXG4uZmEtNDItZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtaW5ub3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGRcIjsgfVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7IH1cblxuLmZhLXNxdWFyZS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWJcIjsgfVxuXG4uZmEtcGFsZmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7IH1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiOyB9XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cblxuLmZhLXNlYXJjaGVuZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ViXCI7IH1cblxuLmZhLXRpa3RvazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YlwiOyB9XG5cbi5mYS1zcXVhcmUtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjsgfVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiOyB9XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7IH1cblxuLmZhLWRlcGxveWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiOyB9XG5cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjsgfVxuXG4uZmEtcmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiOyB9XG5cbi5mYS1taXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NlwiOyB9XG5cbi5mYS1zcXVhcmUtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7IH1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjsgfVxuXG4uZmEtbWVuZGVsZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjNcIjsgfVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjsgfVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiOyB9XG5cbi5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7IH1cblxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjsgfVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7IH1cblxuLmZhLWNtcGxpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTM2MFwiOyB9XG5cbi5mYS11cHdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NDFcIjsgfVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uZmEtZ3JpcGZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWNcIjsgfVxuXG4uZmEtamVkaS1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZVwiOyB9XG5cbi5mYS11aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EzXCI7IH1cblxuLmZhLXBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RiXCI7IH1cblxuLmZhLXVzc3VubmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA3XCI7IH1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjsgfVxuXG4uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxM1wiOyB9XG5cbi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWNcIjsgfVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjsgfVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlN1wiOyB9XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYlwiOyB9XG5cbi5mYS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTlcIjsgfVxuXG4uZmEtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiOyB9XG5cbi5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjsgfVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7IH1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7IH1cblxuLmZhLWRlZXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3N1wiOyB9XG5cbi5mYS1yYXNwYmVycnktcGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmJcIjsgfVxuXG4uZmEtamlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMVwiOyB9XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjsgfVxuXG4uZmEtc2NyZWVucGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTcwXCI7IH1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5M1wiOyB9XG5cbi5mYS1naXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjsgfVxuXG4uZmEtZC1hbmQtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5cbi5mYS1taWNyb2Jsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWFcIjsgfVxuXG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjsgfVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7IH1cblxuLmZhLWtpY2tzdGFydGVyLWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjsgfVxuXG4uZmEteWFuZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEzXCI7IH1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNVwiOyB9XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjsgfVxuXG4uZmEtc2FzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZVwiOyB9XG5cbi5mYS13aXJzaW5kaGFuZHdlcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyZDBcIjsgfVxuXG4uZmEtd3NoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMmQwXCI7IH1cblxuLmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjsgfVxuXG4uZmEtc2FsZXNmb3JjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYlwiOyB9XG5cbi5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiOyB9XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M2XCI7IH1cblxuLmZhLW5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiOyB9XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiOyB9XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MVwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODZcIjsgfVxuXG4uZmEtd2F6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZlwiOyB9XG5cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjsgfVxuXG4uZmEtc25hcGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGNcIjsgfVxuXG4uZmEtcnVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YVwiOyB9XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2ZcIjsgfVxuXG4uZmEtc3F1YXJlLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7IH1cblxuLmZhLXdlYmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NWNcIjsgfVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjsgfVxuXG4uZmEtY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiOyB9XG5cbi5mYS1zdGF5bGlua2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7IH1cblxuLmZhLWthZ2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmYVwiOyB9XG5cbi5mYS1zcGFjZS1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFjXCI7IH1cblxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjsgfVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7IH1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7IH1cblxuLmZhLXNxdWFyZS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjsgfVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiOyB9XG5cbi5mYS1zcXVhcmUtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjsgfVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWFcIjsgfVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7IH1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiOyB9XG5cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG5cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cblxuLmZhLWJsYWNrLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZVwiOyB9XG5cbi5mYS10aGVtZWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7IH1cblxuLmZhLXB5dGhvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMlwiOyB9XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cblxuLmZhLWJvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUzNDBcIjsgfVxuXG4uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzVcIjsgfVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTJcIjsgfVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjhcIjsgfVxuXG4uZmEtaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjsgfVxuXG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiOyB9XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzZcIjsgfVxuXG4uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTRcIjsgfVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5cbi5mYS11YmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAyXCI7IH1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiOyB9XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjsgfVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7IH1cblxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjsgfVxuXG4uZmEtc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjsgfVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH1cblxuLmZhLXJlcGx5ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNlwiOyB9XG5cbi5mYS1zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q2XCI7IH1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjZcIjsgfVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5mYS1yb2Nrcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U5XCI7IH1cblxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiOyB9XG5cbi5mYS1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzdcIjsgfVxuXG4uZmEtbnBtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q0XCI7IH1cblxuLmZhLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MFwiOyB9XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjsgfVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cblxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7IH1cblxuLmZhLXN0dWJiZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YzdcIjsgfVxuXG4uZmEtdGVsZWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7IH1cblxuLmZhLW9keXNlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVjNlwiOyB9XG5cbi5mYS1zcXVhcmUtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjsgfVxuXG4uZmEtd2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7IH1cblxuLmZhLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDNcIjsgfVxuXG4uZmEtZWRnZS1sZWdhY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjsgfVxuXG4uZmEtc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjsgfVxuXG4uZmEtc2xhY2staGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5mYS1tZWRydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjOFwiOyB9XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODdcIjsgfVxuXG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cblxuLmZhLXZhYWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOFwiOyB9XG5cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiOyB9XG5cbi5mYS1zcXVhcmUteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFhXCI7IH1cblxuLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVkXCI7IH1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjsgfVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODlcIjsgfVxuXG4uZmEtZmxpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjsgfVxuXG4uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjOVwiOyB9XG5cbi5mYS1zaXRyb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0NGFcIjsgfVxuXG4uZmEtZGlzY291cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkzXCI7IH1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG5cbi5mYS1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNlwiOyB9XG5cbi5mYS1haXJibmI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzRcIjsgfVxuXG4uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNFwiOyB9XG5cbi5mYS1idXktbi1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhhNlwiOyB9XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMVwiOyB9XG5cbi5mYS1zdHJhdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjsgfVxuXG4uZmEtZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjsgfVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NVwiOyB9XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjsgfVxuXG4uZmEtcHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UxXCI7IH1cblxuLmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjsgfVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDZcIjsgfVxuXG4uZmEtd29kdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OFwiOyB9XG5cbi5mYS1nb29nbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH1cblxuLmZhLWludGVyY29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FmXCI7IH1cblxuLmZhLXpoaWh1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNmXCI7IH1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiOyB9XG5cbi5mYS1waXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0M2FcIjsgfVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y2XCI7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG46cm9vdCwgOmhvc3Qge1xuICAtLWZhLXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmZhcixcbi5mYS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uZmFzLFxuLmZhLXNvbGlkIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgQnJhbmRzJztcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAudHRmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtc29saWQtOTAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgUmVndWxhcic7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtcmVndWxhci00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby5lb3RcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tamVsYXdyZW5jZS9mb250ZWxsby1qZWxhd3JlbmNlLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWplbGF3cmVuY2UvZm9udGVsbG8tamVsYXdyZW5jZS5zdmdcIikgZm9ybWF0KFwic3ZnXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tamVsYXdyZW5jZS9mb250ZWxsby1qZWxhd3JlbmNlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWplbGF3cmVuY2UvZm9udGVsbG8tamVsYXdyZW5jZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1qZWxhd3JlbmNlL2ZvbnRlbGxvLWplbGF3cmVuY2Uud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbi8qKiBcclxuICAgIC0tLS0tIEVtYWlsIFRlbXBsYXRlcyAtLS0tLSBcclxuXHJcbiAgICBUSElOSyEuLi4uLi4gTElLRSBSRUFMTFkgVEhJTksgT1VUTE9PSyBCRUZPUkUgTUFLSU5HIENIQU5HRVMsIHRoaW5ncyB0aGF0IHRoZXNlIHZhcmlhYmxlcyB3aWxsIGVmZmVjdDogXHJcbiAgICAtIEZyYWdtZW50cyAoIGFyZSBjb2xvdXJzIGdlbmVyaWMgKSBcclxuICAgIC0gT3V0bG9vayBcclxuICAgIC0gRGlwbG9tYXQgZW1haWwgcGFyYW1ldGVyc1xyXG5cclxuKiovXG4ubW9iaWxlLWJyZWFrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9iaWxlLWJyZWFrIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogYXV0byA4cHg7IH0gfVxuXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSBoMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMS5wcmVzZXQxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEucHJlc2V0MTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxLnByZXNldDE6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbmJvZHkgaDEge1xuICBtYXJnaW46IDAgMCAyNXB4OyB9XG5cbmgxIHtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICBoMS5wcmVzZXQxIHtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBoMS5wcmVzZXQyIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgaDIucHJlc2V0MSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgaDIucHJlc2V0MiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC1zcGFjaW5nOiBub3JtYWw7IH1cbiAgaDIucHJlc2V0MyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCA1cHg7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoMi5wcmVzZXQzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgaDIucHJlc2V0MzpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgaDIucHJlc2V0NCB7XG4gICAgcGFkZGluZzogN3B4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBoMi5wcmVzZXQ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDsgfSB9XG5cbmgzIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjRTkzMzMwOyB9XG4gIGgzLnByZXNldDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaDMucHJlc2V0MiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgaDMucHJlc2V0MjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG5cbmg0IHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5oNSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuaDYge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5jYWxsb3V0LmFsZXJ0IGg1LCAuY2FsbG91dC5hbGVydCBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtY29udGFpbmVyIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI0U5MzMzMCk7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgYS5zdWNjZXNzIHtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIGEuc3VjY2VzczpiZWZvcmUsIGEuc3VjY2VzczphZnRlciB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICBhLndhcm5pbmcge1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgYS53YXJuaW5nOmJlZm9yZSwgYS53YXJuaW5nOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIGEuYWxlcnQge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgYS5hbGVydDpiZWZvcmUsIGEuYWxlcnQ6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgYS5lZGl0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIGEuZWRpdDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+BhFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIGEuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC40OyB9XG4gIGEubmV3cy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIGEubmV3cy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvh6pcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEubmV3cy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLm5ld3MtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLm5ld3MtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLm5ld3MtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIGEuYmxvZy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIGEuYmxvZy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgoZcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEuYmxvZy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmJsb2ctYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIGEuZXZlbnRzLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GzXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBhLmV2ZW50cy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmV2ZW50cy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGEuZXZlbnRzLWJ1dHRvbjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5ldmVudHMtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIGEuZXh0ZXJuYWwtbGluay1pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+CjlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICNmZjZmMjApO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgYTphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCwgIzQ4NDg0OCk7IH1cbiAgYS5wZGYtZG93bmxvYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgYS5wZGYtZG93bmxvYWQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eBXCI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEucGRmLWRvd25sb2FkOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxub2wgbGkge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIGhyLm1vYmlsZS1zZXBlcmF0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5hZGRyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIGFkZHJlc3Mgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuc3BhbltjbGFzcyo9XCItaWNvblwiXSAuaWNvbi10ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIC5pY29uLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi52YXQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbmhyIHtcbiAgbWFyZ2luOiAyNXB4IDA7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi50YWJsZS1mb290ZXItc3BhY2VyLnByZXNldC0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG5cbi50YWJsZS1mb290ZXItc3BhY2VyLnByZXNldC0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi50YWJsZS1mb290ZXItc3BhY2VyIGhyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxudGFibGUge1xuICAtLWJvcmRlci1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcbiAgLS1ib3JkZXItaG92ZXItY29sb3VyOiAjYWVhZWFlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgdGFibGUuc3RyaXBlZCB0ciB7XG4gICAgcGFkZGluZzogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2hvdy1ib3JkZXItYm90dG9tIHRyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgICAgdGFibGUuc2hvdy1ib3JkZXItYm90dG9tIHRyOm5vdCg6bGFzdC1jaGlsZCk6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWhvdmVyLWNvbG91cik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH0gfVxuICB0YWJsZS5zaG93LWJvcmRlcnMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgdGFibGUuc2hvdy1ib3JkZXJzIHRoLCB0YWJsZS5zaG93LWJvcmRlcnMgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpmaXJzdC1jaGlsZCB0aCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6bGFzdC1jaGlsZCB0aCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGg6Zmlyc3QtY2hpbGQsIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGg6bGFzdC1jaGlsZCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH0gfVxuICB0YWJsZS5oaWdobGlnaHQtZmlyc3QtY29sdW1uIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIHRhYmxlLnByZXNldC0xIHtcbiAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0xIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRkLCB0YWJsZS5wcmVzZXQtMSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMS5yb3ctc3BhY2luZyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IC0xMHB4OyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRkLmltYWdlLWNvbCB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQuaW1hZ2UtY29sIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKTpob3ZlciBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoLnBkZi1kb3dubG9hZCkge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucHJlc2V0LTIge1xuICAgICAgbWFyZ2luOiA0NXB4IDAgNDBweDsgfSB9XG4gIHRhYmxlLnByZXNldC0yIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gIHRhYmxlLnByZXNldC0zIHRkLCB0YWJsZS5wcmVzZXQtMyB0aCB7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0ZCwgdGFibGUucHJlc2V0LTMgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcHggNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0zLnJvdy1hZGRpdGlvbmFsLXBhZGRpbmcgdGQge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IHRyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCwgdGFibGUucHJlc2V0LTMgdGJvZHkgdGgge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICB0YWJsZS5wcmVzZXQtMyB0Ym9keSBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICB0YWJsZS5yb3ctc3BhY2luZyB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1zcGFjaW5nOiAwIDEwcHg7IH1cbiAgICB0YWJsZS5yb3ctc3BhY2luZzpoYXMoLnJvdy1pbnB1dC10b2dnbGUpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIHRib2R5IHNwYW4uY29sLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICB0YWJsZSB0ZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIHRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSB0ZC5uby1wZGYtZG93bmxvYWQgc3Bhbi50ZXh0LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH0gfVxuICB0YWJsZSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMxMjgxMWY7IH1cbiAgdGFibGUgdHIuc3VjY2VzcyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7IH1cbiAgICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNWUwNTsgfVxuICB0YWJsZSB0ci53YXJuaW5nIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTsgfVxuICAgIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgdGFibGUgdHIuYWxlcnQgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICB0YWJsZSB0ci5lcnJvci1yb3csIHRhYmxlIHRyLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIHRyICsgdHIuZXJyb3Itcm93IHRkLCB0YWJsZSB0ciArIHRyLmVycm9yIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmZmZmZmOyB9IH1cbiAgdGFibGUgdHIuY2FyZC1leHBpcmVkLCB0YWJsZSB0ci5leHBpcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIsIHRhYmxlIHRyLmV4cGlyZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgdGFibGUgdHIuY2FyZC1leHBpcmVkIHRkLCB0YWJsZSB0ci5leHBpcmVkIHRkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIHRhYmxlIHRyLmNhcmQtZXhwaXJlZCAucmVtb3ZlLWNvbCwgdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLnJlbW92ZS1jb2wsIHRhYmxlIHRyLmV4cGlyZWQgLmV4cGlyZS1kYXRlLWNvbCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGUge1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aGFzKGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQpIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC42czsgfVxuICAgIHRhYmxlIHRyLnJvdy1pbnB1dC10b2dnbGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTcpOyB9XG4gIHRhYmxlIHRyOmhvdmVyIHRkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICB0YWJsZSAuc3VjY2Vzcy1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuICB0YWJsZSAuZmFpbGVkLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIC5mYWlsZWQtcmVhc29uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC5mYWlsZWQtaWNvbiwgdGFibGUgLnN1Y2Nlc3MtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIHRhYmxlIC5mYWlsZWQtaWNvbjpiZWZvcmUsIHRhYmxlIC5zdWNjZXNzLWljb246YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZSAub3JkZXItdG90YWwtY29sLCB0YWJsZSB0aC5jc3YtaW1wb3J0LWNvbCB7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlIC5hZGRyZXNzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cbiAgdGFibGUgLnJlbW92ZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIHRhYmxlIC5yZW1vdmUtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICB0YWJsZSAucmVtb3ZlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogI0U5MzMzMDsgfVxuICB0YWJsZSAuY2FyZC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgp1cIjtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgdGFibGUgLmV4cGlyZWQtdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZSAuZXhwaXJlZC10ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA5cHg7IH0gfVxuXG50aGVhZC5wcmVzZXQtMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkLnByZXNldC0xIHRoIHtcbiAgICBwYWRkaW5nOiAwIDVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICB0aGVhZC5wcmVzZXQtMSB0aCBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICB0aGVhZC5wcmVzZXQtMSB0aFtjbGFzcyQ9ZGVzY3JpcHRpb24tY29sXSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0aGVhZC5wcmVzZXQtMSArIHRib2R5IC5jb2wtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG50aGVhZC5wcmVzZXQtMiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkLnByZXNldC0yIHRoIHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxudGhlYWQgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHVsIGxpIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyAuY29tcGFyaXNvbi10YWJsZS1idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5NTk1OTU7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cblxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gLmNvbXBhcmlzb24tdmFsdWVzIHRkICsgdGQsIFtjb21wYXJpc29uLXRhYmxlXSB0aCArIHRoIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gLmNvbXBhcmlzb24tdmFsdWVzIHRkICsgdGQsIFtjb21wYXJpc29uLXRhYmxlXSB0aCArIHRoIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGhlYWQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0aGVhZCB0aCB7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDE1JTsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lOyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogNTglO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RhZGFkYTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtjb21wYXJpc29uLXRhYmxlXS5hbGlnbi12YWx1ZS1yaWdodCB0Ym9keSB0ZC5hY3RpdmUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IC5jb21wYXJpc29uLXN1bW1hcnkgdHIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IC5jb21wYXJpc29uLXN1bW1hcnkgLmNvbXBhcmlzb24tY3VycmVudGx5LXNlbGVjdGVkIHtcbiAgZmxleC1ncm93OiAxO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IC5jb21wYXJpc29uLWNvbHVtbi1oZWFkaW5nIHtcbiAgICB3aWR0aDogNTglOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHggMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQgdGQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogNXB4IDA7IH0gfVxuXG50YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHRkIC5jb2wtbGFiZWwge1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZS5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB0ZCAuY29sLWxhYmVsIHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZC5jb2x1bW4tZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkIC5jb2wtbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pOmhhcyguY29sLWxhYmVsKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSA3MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjtcbiAgICBnYXA6IDAgMTBweDsgfVxuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7IH1cbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSAuY29udHJvbCB7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBbcmVzcG9uc2l2ZS1yZXZlYWxdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgKyB0YWJsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMTI4MTFmOyB9XG4gICAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5zdWNjZXNzIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ud2FybmluZyB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZjVlMDU7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLndhcm5pbmcgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hbGVydCB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNiMjBjMGM7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFsZXJ0IC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXItaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5oZWFkZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCGXCI7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5lbGxpcHNpcy10ZXh0IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBtYXNrLWltYWdlOiBub25lOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweCAyMHB4OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyOmhhcygudW5yZWFkLWNvbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA1cHg7XG4gICAgcGFkZGluZzogMCAxOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY29udGVudC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAudG9vbHRpcC1jb250YWluZXIuc3RhdGUtaW5kaWNhdG9yIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cblxuLnRhYmxlLXNvcnQtY29sLmFzY2VuZCBidXR0b246YWZ0ZXIge1xuICBjb250ZW50OiBcIu6ghlwiOyB9XG5cbi50YWJsZS1zb3J0LWNvbC5kZXNjZW5kIGJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi7qCeXCI7IH1cblxuLnRhYmxlLXNvcnQtY29sIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC50YWJsZS1zb3J0LWNvbCBidXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNkOGI3YjY7IH1cbiAgICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2Q4YjdiNjsgfVxuXG50ZC5ub3RpZmljYXRpb24tY29sOmhvdmVyIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA2cHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNnM7IH1cblxudGQubm90aWZpY2F0aW9uLWNvbDpob3ZlciAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbGVmdDogNnB4O1xuICBib3gtc2hhZG93OiA0cHggMHB4IDhweCAzcHggcmdiYSgxMiwgMTIsIDEyLCAwLjE4KTtcbiAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuNnMsIGJvcmRlci13aWR0aCAwLjZzLCBsZWZ0IDAuNnM7IH1cblxuLnVucmVhZC1jb2wge1xuICB3aWR0aDogNDhweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC51bnJlYWQtY29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudW5yZWFkLWNvbCB7XG4gICAgICB3aWR0aDogMjBweDsgfSB9XG5cbi50YWJsZS1yb3ctbm90aWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH1cbiAgICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHotaW5kZXg6IDUwMDA7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzLCBsZWZ0IDAuOHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQgcCB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucmV1c2FibGUtY2FyZC10YWJsZS5wYXltZW50IC5yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogMTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIC5leHBpcmUtZGF0ZS1jb2wge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG50YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlIHRoLnNlbGVjdC1jb2wsIHRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUgdGQuc2VsZWN0LWNvbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfSB9XG4gIHRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIC5yZWZlcmVuY2UtY29sLCB0YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyB7XG4gICAgd2lkdGg6IDg1MHB4OyB9IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIC51cGRhdGVkLWNvbCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyAudXBkYXRlZC1ieS1jb2wge1xuICAgIHdpZHRoOiAxOSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgLmFjY2Vzcy1sZXZlbC1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG50YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB7XG4gIG1hcmdpbjogMDsgfVxuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGQge1xuICAgIHBhZGRpbmc6IDIuNXB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoLCB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0Ym9keSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnJldmlzaW9uLWNvbCB7XG4gICAgICB3aWR0aDogNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnVwZGF0ZWQtYnktY29sIHtcbiAgICAgIHdpZHRoOiAxNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnVwZGF0ZWQtY29sIHtcbiAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLnB1Ymxpc2hlZC1jb2wsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IC5hY2Nlc3MtbGV2ZWwtY29sIHtcbiAgICAgIHdpZHRoOiA5JTsgfSB9XG5cbnRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHtcbiAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aDogMnB4OyB9XG4gIHRhYmxlLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIC5uZXN0ZWQtdGFibGUtcm93LXBhcmVudCB7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpOyB9XG4gICAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50ICsgLm5lc3RlZC10YWJsZS1yb3cge1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50ICsgLm5lc3RlZC10YWJsZS1yb3cgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7IH1cbiAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgdGhlYWQgdGgge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgdGJvZHkgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuZm9sZGVyLWZpbHRlcnMtdGFibGUgdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmZvbGRlci1maWx0ZXJzLXRhYmxlIHRib2R5IHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGFibGUtY29udGFpbmVyLnRhYmxlLXNjcm9sbC1lbmFibGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAudGFibGUtY29udGFpbmVyLnRhYmxlLXNjcm9sbC1lbmFibGVkIHRhYmxlIHRoZWFkIHRoIHtcbiAgICBib3JkZXI6IDA7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtbWlkZGxlIHRoZWFkOmFmdGVyLCAudGFibGUtY29udGFpbmVyLnNjcm9sbC1hdC1ib3R0b20gdGhlYWQ6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDVweCA5cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtbWlkZGxlLCAudGFibGUtY29udGFpbmVyLnNjcm9sbC1hdC10b3Age1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJsZS1jb250YWluZXIuc2Nyb2xsLW1pZGRsZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udGFibGUtY29udGFpbmVyLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICBtYXgtaGVpZ2h0OiA0MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLWNvbnRhaW5lci5hdWRpdC10cmFpbC1lbnRyaWVzIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4OyB9IH1cblxuLnRhYmxlLWNvbnRhaW5lciB0YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4udGFibGUtY29udGFpbmVyIHRoZWFkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICB6LWluZGV4OiAxOyB9XG4gIC50YWJsZS1jb250YWluZXIgdGhlYWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4vKlxyXG4tLS0tIElucHV0cyAtLS0tIFxyXG4tIFN0eWxpbmcgZm9yIGZvcm0gaW5wdXRzICggc2VsZWN0LCBpbnB1dCwgdGV4dGFyZWEgKVxyXG4tIFF1YW50aXR5IHNlbGVjdG9yc1xyXG4tIEZvcm1zXHJcbiAgLSBGaWVsZHNldHNcclxuICAtIEZpZWxkc1xyXG4tIFZhbGlkYXRpb25cclxuICAtIEZvcm0gZXJyb3JzIGZyb20gdGhlIHNlcnZlclxyXG4gIC0gQWR2YW5jZWQgdmFsaWRhdGlvbiAoIHNldHRpbmcgcGFzc3dvcmQgKVxyXG4tIFByaW1hcnksIFNlY29uZGFyeSwgRXRjIGJ1dHRvbnMgdXNlZCB0aHJvdWdob3V0IHRoZSBzaXRlLlxyXG4tIFVJIGJsb2NrIHBhbmUuXHJcbiovXG5mb3JtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuZm9ybS5pcy1pbnZhbGlkIGJ1dHRvblt0eXBlPXN1Ym1pdF0sIGZvcm0uaXMtaW52YWxpZCAuZm9ybS1zdWJtaXQtYnV0dG9uIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC40OyB9XG4gIGZvcm0uaXMtaW52YWxpZCBidXR0b25bdHlwZT1zdWJtaXRdOmhvdmVyLCBmb3JtLmlzLWludmFsaWQgLmZvcm0tc3VibWl0LWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYyAhaW1wb3J0YW50OyB9XG5cbmZvcm0uaXMtaW52YWxpZCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjQ7IH1cblxuYnV0dG9uOmRpc2FibGVkLCBidXR0b24uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jb250cm9sLnRleHQgaW5wdXQge1xuICAgIG1heC13aWR0aDogMzYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNvbnRyb2wudGV4dC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMzYwcHggLSA0NXB4KTsgfSB9XG5cbi5maWVsZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiA1cHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maWVsZCB7XG4gICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmZpZWxkLmFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZmllbGQuYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5maWVsZCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHggLSAgMTYwcHgpO1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgLnBhc3N3b3JkLXJldmVhbCB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgIC5maWVsZCBsYWJlbCAubGFiZWwgKyB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZmllbGQgbGFiZWwgLmxhYmVsIC5hZHZpc29yeS10ZXh0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkIGxhYmVsLnRleHQsIC5maWVsZCBsYWJlbC5lbWFpbCwgLmZpZWxkIGxhYmVsLnRlbCwgLmZpZWxkIGxhYmVsLm51bWJlciwgLmZpZWxkIGxhYmVsLnRleHRhcmVhIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQ6aGFzKGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLnByaW1hcnktYnV0dG9uKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5maWVsZCArIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZmllbGQgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSkge1xuICAgIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkIC5sYWJlbCArIHRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5maWVsZCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgLmZpZWxkIHRleHRhcmVhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkIC5lcnJvci1ibG9jayB7XG4gICAgICBtYXgtd2lkdGg6IDU4MS44MTgxOHB4OyB9IH1cbiAgLmZpZWxkOm5vdCgubWVkaXVtKTpub3QoLmxhcmdlKTpub3QoLmxhcmdlLTEpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZpZWxkLnNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLmZpZWxkLnNtYWxsIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLnNtYWxsIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gIC5maWVsZC5tZWRpdW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkLm1lZGl1bSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5tZWRpdW0gLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4OyB9IH1cbiAgLmZpZWxkLmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZC5sYXJnZSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQubGFyZ2UgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDQ0MHB4OyB9IH1cbiAgLmZpZWxkLmZ1bGwtd2lkdGggLmxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmllbGQubGlzdCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5maWVsZC5saXN0IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLmxpc3QgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDM0MHB4OyB9IH1cbiAgLmZpZWxkIC5sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCAubGFiZWwge1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5maWVsZCAubGFiZWwgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAuZmllbGQgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IDA7IH1cbiAgLmZpZWxkIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgLmZpZWxkIC5jdXN0b20taW5wdXQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSBsYWJlbCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gbGFiZWwsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSAuY29udHJvbC5jaGVja2JveCBzcGFuLmNoZWNrYm94IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLmZpZWxkLnNtYWxsLTEsIC5maWVsZC5tZWRpdW0tMSwgLmZpZWxkLmxhcmdlLTEge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZC5zbWFsbC0xLCAuZmllbGQubWVkaXVtLTEsIC5maWVsZC5sYXJnZS0xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZmllbGQuc21hbGwtMSAubGFiZWwsIC5maWVsZC5tZWRpdW0tMSAubGFiZWwsIC5maWVsZC5sYXJnZS0xIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDM2MHB4OyB9IH1cbiAgLmZpZWxkLnNtYWxsLTIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmZpZWxkLnNtYWxsLTMge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmllbGQubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmllbGQubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cblxuLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgdWwge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDEsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDMsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDQsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDYsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gaW1nIHtcbiAgICBtYXJnaW46IDAgMTVweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvLmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ubG9va3VwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgY29sb3I6ICM5NTk1OTU7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gIGZvbnQtZmFtaWx5OiBjYXB0aW9uO1xuICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC44cztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xuICAgICAgZm9udC1zaXplOiA0NHB4OyB9IH1cbiAgaW5wdXRbdHlwZT1wYXNzd29yZF06aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0xNHB4IC0zcHggMjhweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgaW5wdXRbdHlwZT1wYXNzd29yZF06aG92ZXIgKyBidXR0b24ge1xuICAgICAgYm94LXNoYWRvdzogMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzICsgYnV0dG9uIHtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7IH1cbiAgaW5wdXRbdHlwZT1wYXNzd29yZF0gKyBidXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLnBhc3N3b3JkLXJldmVhbCB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItY29sb3I6ICNhMGEwYTA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnBhc3N3b3JkLXJldmVhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GuXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zdHlsZTogMTJweDtcbiAgICBjb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjcpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wYXNzd29yZC1yZXZlYWw6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIC5wYXNzd29yZC1yZXZlYWwuYWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucGFzc3dvcmQtcmV2ZWFsLmlucHV0LWFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuXG5pbnB1dDo6LW1zLWNsZWFyLCBpbnB1dDo6LW1zLXJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmFjdGlvbi1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hY3Rpb24tYnV0dG9uOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5hY3Rpb24tYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLmFjdGlvbi1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5hY3Rpb24tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDE0NCwgMTQyLCAwLjIpO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MsIC5hY3Rpb24tYnV0dG9uLmVtYWlsIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuaG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5hY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uZW1haWwuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzczpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uZW1haWxbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMtdmlzaWJsZSwgLmFjdGlvbi1idXR0b24uZW1haWw6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uZW1haWwgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmFjdGlvbi1idXR0b24ud2FybmluZyB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDExMSwgMzIsIDAuMik7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjdGlvbi1idXR0b24ud2FybmluZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hY3Rpb24tYnV0dG9uLmFsZXJ0IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZmRmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjAxMDE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFjdGlvbi1idXR0b24uYWxlcnQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uYWxlcnQuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5hbGVydFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ1dHRvbjEsIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJ1dHRvbjE6aG92ZXIsIC5idXR0b24xLmhvdmVyLCAucHJpbWFyeS1idXR0b246aG92ZXIsIC5wcmltYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmJ1dHRvbjE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJ1dHRvbjEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW1hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmJ1dHRvbjE6YWN0aXZlLCAuYnV0dG9uMS5hY3RpdmUsIC5wcmltYXJ5LWJ1dHRvbjphY3RpdmUsIC5wcmltYXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5idXR0b24xOmRpc2FibGVkLCAuYnV0dG9uMS5kaXNhYmxlZCwgLmJ1dHRvbjFbZGlzYWJsZWRdLCAucHJpbWFyeS1idXR0b246ZGlzYWJsZWQsIC5wcmltYXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLnByaW1hcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5idXR0b24xOmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uMS5kaXNhYmxlZDpob3ZlciwgLnByaW1hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucHJpbWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC5idXR0b24xOmZvY3VzLXZpc2libGUsIC5wcmltYXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJ1dHRvbjEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW1hcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnNlY29uZGFyeS1idXR0b246aG92ZXIsIC5zZWNvbmRhcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnNlY29uZGFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnNlY29uZGFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmFjdGl2ZSwgLnNlY29uZGFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuc2Vjb25kYXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLnNlY29uZGFyeS1idXR0b24uZGlzYWJsZWQsIC5zZWNvbmRhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc2Vjb25kYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLnNlY29uZGFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4udGVydGlhcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnRlcnRpYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnRlcnRpYXJ5LWJ1dHRvbjphY3RpdmUsIC50ZXJ0aWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAudGVydGlhcnktYnV0dG9uOmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uLmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC50ZXJ0aWFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC50ZXJ0aWFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMy41cHggMTZweCk7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1YXRlcm5hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucXVhdGVybmFyeS1idXR0b246aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmFjdGl2ZSwgLnF1YXRlcm5hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmRpc2FibGVkLCAucXVhdGVybmFyeS1idXR0b24uZGlzYWJsZWQsIC5xdWF0ZXJuYXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAucXVhdGVybmFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAucXVhdGVybmFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWluYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucXVpbmFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5xdWluYXJ5LWJ1dHRvbjpob3ZlciwgLnF1aW5hcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAucXVpbmFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnF1aW5hcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAucXVpbmFyeS1idXR0b246YWN0aXZlLCAucXVpbmFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAucXVpbmFyeS1idXR0b246ZGlzYWJsZWQsIC5xdWluYXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLnF1aW5hcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnF1aW5hcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAucXVpbmFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDEwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY21zLWJ1dHRvbjpob3ZlciwgLmNtcy1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvcigoZGVmYXVsdDogdHJhbnNwYXJlbnQsIGhvdmVyOiAjRTkzMzMwLCBhY3RpdmU6ICNmZjZmMjAsIGRpc2FibGVkOiAjZmZmZmZmKSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmNtcy1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNtcy1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5jbXMtYnV0dG9uOmFjdGl2ZSwgLmNtcy1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLWJ1dHRvbjpkaXNhYmxlZCwgLmNtcy1idXR0b24uZGlzYWJsZWQsIC5jbXMtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5jbXMtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuY21zLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLmNtcy1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jbXMtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLXByb2NlZWQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY21zLXByb2NlZWQtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuY21zLXByb2NlZWQtYnV0dG9uOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvg4VcIjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIHNpemU6IDE1cHg7IH1cbiAgLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbiAuY29waWVkLXRleHQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXB4O1xuICAgIGxlZnQ6IC01cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC45KTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubG9jYXRpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgOS41cHggMTJweCA5LjVweCAyMXB4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5sb2NhdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIsIC5sb2NhdGlvbi1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAubG9jYXRpb24tYnV0dG9uOmhvdmVyOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmxvY2F0aW9uLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjphY3RpdmUsIC5sb2NhdGlvbi1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5sb2NhdGlvbi1idXR0b246YWN0aXZlOmFmdGVyLCAubG9jYXRpb24tYnV0dG9uLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubG9jYXRpb24tYnV0dG9uOmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uLmRpc2FibGVkLCAubG9jYXRpb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmxvY2F0aW9uLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmxvY2F0aW9uLWJ1dHRvbi5kaXNhYmxlZDphZnRlciwgLmxvY2F0aW9uLWJ1dHRvbltkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmxvY2F0aW9uLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvj4VcIjtcbiAgICBtYXJnaW46IDAgMCAwIDQwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZWM5MDhlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIC5yZWZlcmVuY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhN2U3YztcbiAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gp1wiO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogNXB4IDAgMDtcbiAgcGFkZGluZzogNXB4IDhweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZGE3ZTdjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xuICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCnXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICNkYTdlN2M7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG5cbi5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246aG92ZXIsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmFjdGl2ZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246YWN0aXZlOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmRpc2FibGVkLCAucHJpbnQtZWxlbWVudC1idXR0b24uZGlzYWJsZWQsIC5wcmludC1lbGVtZW50LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpkaXNhYmxlZDpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZDpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbltkaXNhYmxlZF06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CvXCI7XG4gICAgbWFyZ2luOiAwIDEycHggMCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogI2VjOTA4ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnByaW50LWVsZW1lbnQtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Ar1wiO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbiNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4IDVweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM0Mzk7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiwgLnBheXBhbC1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgI3BheXBhbC1jaGVja291dC1idXR0b24uaG92ZXIsIC5wYXlwYWwtYnV0dG9uOmhvdmVyLCAucGF5cGFsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wYXlwYWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wYXlwYWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjphY3RpdmUsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmFjdGl2ZSwgLnBheXBhbC1idXR0b246YWN0aXZlLCAucGF5cGFsLWJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmRpc2FibGVkLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5kaXNhYmxlZCwgI3BheXBhbC1jaGVja291dC1idXR0b25bZGlzYWJsZWRdLCAucGF5cGFsLWJ1dHRvbjpkaXNhYmxlZCwgLnBheXBhbC1idXR0b24uZGlzYWJsZWQsIC5wYXlwYWwtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLnBheXBhbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5wYXlwYWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjpmb2N1cy12aXNpYmxlLCAucGF5cGFsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmFmdGVyLCAucGF5cGFsLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvcGF5cGFsLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5pbmNyZW1lbnQtcm93LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuaW5jcmVtZW50LXJvdy1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaW5jcmVtZW50LXJvdy1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiA1cHggMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbi0yKSBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbi0yKSBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDJuKTpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpvbmx5LWNoaWxkLCAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpvbmx5LWNoaWxkOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgybik6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZCwgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6b25seS1jaGlsZDpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpub3QoOm9ubHktY2hpbGQpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXS5hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4uYWRkVG9CYXNrZXRGb3JtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uYmFza2V0LWFkZC1idXR0b24uaWNvbiB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOm5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLmljb24uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMTBweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6aG92ZXIsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6YWN0aXZlLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmRpc2FibGVkLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5kaXNhYmxlZCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6ZGlzYWJsZWQ6aG92ZXIsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hZGRUb0Jhc2tldC5pY29uIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFkZFRvQmFza2V0Lmljb246bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZFRvQmFza2V0Lmljb246bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLmFkZFRvQmFza2V0Lmljb24uZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYWRkVG9CYXNrZXQuaWNvbi5kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxMHB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTphY3RpdmUsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6ZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpLmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFkZC10by1iYXNrZXQucHJlc2V0LTIge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMTBweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjcyOTE3cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMiB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6aG92ZXIsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6YWN0aXZlLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmRpc2FibGVkLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMi5kaXNhYmxlZCwgLmFkZC10by1iYXNrZXQucHJlc2V0LTJbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6ZGlzYWJsZWQ6aG92ZXIsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hbmltYXRlZC5kcm9wOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmY2ZjIwICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmFuaW1hdGVkLmRyb3A6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMHB4O1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICBhbmltYXRpb246IGJhc2tldEljb25Ib3ZlciAwLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7IH1cblxuQGtleWZyYW1lcyBiYXNrZXRJY29uSG92ZXIge1xuICAwJSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgMTUlIHtcbiAgICB0b3A6IC0xNXB4O1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICAzMCUge1xuICAgIHRvcDogLTEwcHg7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIDQ1JSB7XG4gICAgdG9wOiAtNXB4O1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICA2MCUge1xuICAgIHRvcDogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICA3NSUge1xuICAgIHRvcDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5zdG9ja2xpbmUtdmlldy1idXR0b24gYSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuaG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuaG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTpkaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGFbZGlzYWJsZWRdLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpkaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uW2Rpc2FibGVkXSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYVtkaXNhYmxlZF0sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmZvY3VzLXZpc2libGUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmZvY3VzLXZpc2libGUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYTpmb2N1cy12aXNpYmxlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5ob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTphY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpkaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuZGlzYWJsZWQsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpkaXNhYmxlZDpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmZvY3VzLXZpc2libGUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmhvdmVyLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmFjdGl2ZSwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246ZGlzYWJsZWQsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmRpc2FibGVkLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGFbZGlzYWJsZWRdLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhLmRpc2FibGVkIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lciBhW2Rpc2FibGVkXTphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYVtkaXNhYmxlZF06aG92ZXI6YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQ6YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXI6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CEXCI7XG4gIGNvbG9yOiAjZmY2ZjIwO1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjZmY2ZjIwO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmFjdGl2ZTphZnRlciB7XG4gIGNvbG9yOiAjZmY2ZjIwO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5hY3RpdmUgYTphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MSBhOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQyOm5vdCguYWN0aXZlKSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDIgYSB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmxhYmVsLmRpc2FibGVkLCBsYWJlbC5yZWFkb25seSB7XG4gIGN1cnNvcjogbm8tZHJvcDsgfVxuXG4uY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGZsZXg6IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jb250cm9sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHggIWltcG9ydGFudDsgfSB9XG5cbi5jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jb250cm9sIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29udHJvbCB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29udHJvbC5pcy1ob3ZlcmVkIC5pbnB1dC1wcmVmaXgtaWNvbiwgLmNvbnRyb2w6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWw6aG92ZXIgLmlucHV0LXByZWZpeC1pY29uLCAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsOmhvdmVyIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtZm9jdXNlZCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9XG4gIC5jb250cm9sICsgLmxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNhMGEwYTA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uICsgaW5wdXQge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmNvbnRyb2wgLmxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIC5sYWJlbCB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciBpbnB1dFt0eXBlPXRleHRdLCAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciBpbnB1dFt0eXBlPW51bWJlcl0sIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9dGVsXSwgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgdGV4dGFyZWEge1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIC5jb250cm9sLnJlYWQtb25seS1pbnB1dCwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQge1xuICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6bm90KC50ZXh0KTpob3ZlcjphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6bm90KC50ZXh0KTpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6bm90KC50ZXh0KTphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6bm90KC50ZXh0KTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CjXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0OmhvdmVyOmFmdGVyLCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dDpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgKNcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTBhMGEwOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W3JlYWRvbmx5XSArIHNwYW46YmVmb3JlLCAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dFtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2RhZGFkYTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pOmNoZWNrZWQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmZvY3VzICsgc3BhbiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkICsgc3BhbjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkW2Rpc2FibGVkXSArIHNwYW46YmVmb3JlLCAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkW3JlYWRvbmx5XSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNhMGEwYTA7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIGlucHV0OmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIGlucHV0OmNoZWNrZWQgKyBzcGFuLnJhZGlvOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYTBhMGEwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNy41cHg7XG4gICAgICBoZWlnaHQ6IDcuNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAuMnB4O1xuICAgICAgbGVmdDogLjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDcuNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNhMGEwYTA7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdDpkaXNhYmxlZCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3csIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdDpkaXNhYmxlZCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3c6YWZ0ZXIsIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdC5pcy1pbnZhbGlkLWlucHV0ICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmZvY3VzICsgZGl2W2NsYXNzPWNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lcl0gLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5pcy1jbG9zaW5nIHtcbiAgICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE5OTk7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXI6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlci5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLmRyb3Bkb3duLXRvcCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlci5kcm9wZG93bi10b3AgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0ZWQtb3B0aW9uOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3QtYXJyb3c6YWZ0ZXIsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLuoIZcIjtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE4NXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLWJvdHRvbSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhMGEwYTA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2EwYTBhMDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi10b3AgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLXRvcC5hY3RpdmUgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdC1hcnJvdyB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMzcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2EwYTBhMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAyNXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2EwYTBhMDsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAxcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb25bc2VsZWN0ZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uW2Rpc2FibGVkXSwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb24uZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhN2U3YztcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb246YWN0aXZlW2Rpc2FibGVkXSwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb246YWN0aXZlLmRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3c6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LnRpdGxlIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICB3aWR0aDogMjUwcHg7IH1cbiAgLmNvbnRyb2wudGV4dCB7XG4gICAgY3Vyc29yOiB0ZXh0OyB9XG4gICAgLmNvbnRyb2wudGV4dCBpbnB1dCB7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpub3QoW3R5cGU9cGFzc3dvcmRdKTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlci5pcy1pbnZhbGlkLWlucHV0OmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTsgfVxuICAgICAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlci5pcy1pbnZhbGlkLWlucHV0OmZvY3VzICsgYnV0dG9uIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlci5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyOm5vdCguaXMtaW52YWxpZC1pbnB1dCkgKyBidXR0b24ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dCArIGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuc2xpZGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5jb250cm9sLmZpbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjRTkzMzMwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5jb250cm9sLmZpbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cHgpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjVweCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXI6IDIuNXB4IGRhc2hlZCAjRTkzMzMwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbnRyb2wuZmlsZSB7XG4gICAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzOHB4IDEwcHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5maWxlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuZmlsZTpob3ZlciBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6aG92ZXIgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAuY29udHJvbC5maWxlOmFjdGl2ZSwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgMTQ0LCAxNDIsIDAuMSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNyk7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6YWN0aXZlOmFmdGVyLCAuY29udHJvbC5maWxlLmlzLXJlYWR5OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzMywgNTEsIDQ4LCAwLjcpOyB9XG4gICAgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeSAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLulqBcIjtcbiAgICAgIGNvbG9yOiByZ2JhKDIzMywgNTEsIDQ4LCAwLjcpOyB9XG4gICAgLmNvbnRyb2wuZmlsZS5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbDphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbnRyb2wuZmlsZS5pcy1pbnZhbGlkLWxhYmVsIC5mb3JtLWVycm9yIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAgIC5jb250cm9sLmZpbGUuaXMtaW52YWxpZC1sYWJlbCAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbnRyb2wuZmlsZS5pcy1pbnZhbGlkLWxhYmVsIHNwYW4ubGFiZWwge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5jb250cm9sLmZpbGUgc3Bhbi5sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5maWxlIHNwYW4ubGFiZWwge1xuICAgICAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gICAgLmNvbnRyb2wuZmlsZSAuZmlsZS11cGxvYWQtaWNvbiB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+VtFwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAuZmlsZS11cGxvYWQtaWNvbiArIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgLmNvbnRyb2wuZmlsZSAuaW5wdXQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250cm9sLmZpbGUgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGUgLmZpbGUtc2l6ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jb250cm9sLmZpbGUgLnJlbW92ZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5yZW1vdmUtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLnJlbW92ZS1idXR0b246YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAuY29udHJvbC5maWxlIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTsgfVxuICAuY29udHJvbC5zZWFyY2ggaW5wdXQge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAgIC5jb250cm9sLnNlYXJjaCBpbnB1dCArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICAuY29udHJvbCAudG9vbHRpcC1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5jb250cm9sOmhvdmVyIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBhbmltYXRpb246IGFuaW1hdGVUb29sVGlwSGludCAyczsgfVxuXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHNlbGVjdCwgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgd2lkdGg6IDkwcHg7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuQGtleWZyYW1lcyBhbmltYXRlVG9vbFRpcEhpbnQge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjcpO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIDIwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIGlucHV0IHtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfSB9XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmlucHV0Lm1haWwtaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaW5wdXQubWFpbC1pbnB1dCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDsgfSB9XG4gIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhMGEwYTA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b24ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwOyB9IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmVtcHR5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HmFwiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2EwYTBhMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXI6ZW1wdHk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246YWN0aXZlOmVtcHR5OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jb25kaXRpb25hbC1pbnB1dHMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5jb25kaXRpb25hbC1pbnB1dHMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNmYyMDsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHggNnB4IDA7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpub3QoLmRpc2FibGVkKSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpub3QoLmRpc2FibGVkKTpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudC5kaXNhYmxlZCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50LmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXI6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLmlzLWludmFsaWQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5pcy1pbnZhbGlkLXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlcjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfSB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLmlzLWludmFsaWQtcXVhbnRpdHkgLnF1YW50aXR5LWVycm9yIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLnF1YW50aXR5LWVycm9yIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIGlucHV0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cblxuLmlucHV0LW51bWJlci1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMzZweDsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItY29sb3I6ICNhMGEwYTA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXI6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNDVweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSxcbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcixcbiAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNhMGEwYTA7IH1cbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgahcIjsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GnXCI7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCB7XG4gICAgICB3aWR0aDogOTBweDsgfSB9XG4gIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCBzZWxlY3Qge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuc3Bhbi5mb3JtLWVycm9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHNwYW4uZm9ybS1lcnJvciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2MHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIHNwYW4uZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbnNwYW4uZm9ybS1jYWxsb3V0LWVycm9yIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbnVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAzNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMXB4OyB9IH1cbiAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3I6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjcpOyB9XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy12YWxpZCB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLXZhbGlkOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtaW52YWxpZCB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLWludmFsaWQ6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AjVwiOyB9XG5cbi5hZHZhbmNlZC12YWxpZGF0aW9uLWFjdGl2ZS5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICM5NTk1OTU7IH1cblxuLmdyb3VwLWZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDEwcHggMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIGgyLCAuZ3JvdXAtZm9ybS1lcnJvciBoNCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAuZ3JvdXAtZm9ybS1lcnJvciB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuZ3JvdXAtZm9ybS1lcnJvciB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuZ3JvdXAtZm9ybS1lcnJvciB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAuZ3JvdXAtZm9ybS1lcnJvciB1bCBsaSB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIHAsIC5ncm91cC1mb3JtLWVycm9yIGEge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZ3JvdXAtZm9ybS1lcnJvciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyb3VwLWZvcm0tZXJyb3Ige1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG5cbi5lcnJvci1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgLmVycm9yLWJsb2NrIGgyLCAuZXJyb3ItYmxvY2sgaDQge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmVycm9yLWJsb2NrIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5lcnJvci1ibG9jayB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuZXJyb3ItYmxvY2sgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmVycm9yLWJsb2NrIHVsIGxpIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLmVycm9yLWJsb2NrIHAsIC5lcnJvci1ibG9jayBhIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLmVycm9yLWJsb2NrIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQgKyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIHNwYW4uY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG5Aa2V5ZnJhbWVzIGtmX3NoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4KTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgpOyB9IH1cblxuLmZpZWxkLWxlYWQtaW4tdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6aG92ZXIsIGxhYmVsOm5vdCgucmVhZC1vbmx5LWlucHV0KSAubGFiZWw6aG92ZXIge1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6YWN0aXZlLCBsYWJlbDpub3QoLnJlYWQtb25seS1pbnB1dCkgLmxhYmVsOmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmY2ZjIwOyB9XG5cbmxhYmVsIC5sYWJlbCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuXG5sYWJlbCBpbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cblxubGFiZWwgaW5wdXQuaXMtaW52YWxpZC1pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG5cbmxhYmVsIGlucHV0OmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbi5sb29rdXAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBvc3Rjb2RlLWxvb2t1cC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5wb3N0Y29kZS1sb29rdXAtZXJyb3IuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dC5sb29rdXAta2V5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkge1xuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgaW5wdXQubG9va3VwLWtleS5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTA4ZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBpbnB1dC5sb29rdXAta2V5LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggMTNweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICM5NTk1OTU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICBidXR0b24ubG9va3VwLXN1Ym1pdDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCBidXR0b24ubG9va3VwLXN1Ym1pdC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6YWN0aXZlLCBidXR0b24ubG9va3VwLXN1Ym1pdC5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzkwOGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWM5MDhlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmRpc2FibGVkLCBidXR0b24ubG9va3VwLXN1Ym1pdC5kaXNhYmxlZCwgYnV0dG9uLmxvb2t1cC1zdWJtaXRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6ZGlzYWJsZWQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5sb29rdXAtcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5sb29rdXAtcmVzdWx0cyB1bCB7XG4gICAgbWF4LWhlaWdodDogMjI1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIHVsIC5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5sb29rdXAtcmVzdWx0cyBidXR0b24sIC5sb29rdXAtcmVzdWx0cyBhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbiBzcGFuLCAubG9va3VwLXJlc3VsdHMgYSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uOmhvdmVyLCAubG9va3VwLXJlc3VsdHMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246YWN0aXZlLCAubG9va3VwLXJlc3VsdHMgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246YWN0aXZlIHNwYW4sIC5sb29rdXAtcmVzdWx0cyBhOmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5sb29rdXAtcmVzdWx0cy5icmFuY2gtc2VhcmNoLCAubG9va3VwLXJlc3VsdHMuYWNjb3VudC1zZWFyY2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEyMHB4OyB9IH1cbiAgLmxvb2t1cC1yZXN1bHRzLmJyYW5jaC1zZWFyY2ggYnV0dG9uLCAubG9va3VwLXJlc3VsdHMuYWNjb3VudC1zZWFyY2ggYnV0dG9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5nZW9sb2NhdGlvbi1jb250aWFuZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjYTBhMGEwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTpob3ZlciwgaW5wdXRbdHlwZT1zZWFyY2hdLmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAyMHB4IDZweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmhvdmVyICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b24ge1xuICAgICAgYm94LXNoYWRvdzogMTVweCAwcHggMjBweCAycHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdOmhvdmVyICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmhvdmVyICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTpmb2N1cywgaW5wdXRbdHlwZT1zZWFyY2hdOmFjdGl2ZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXTpmb2N1cyArIGJ1dHRvbiwgaW5wdXRbdHlwZT1zZWFyY2hdOmFjdGl2ZSArIGJ1dHRvbiwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzICsgYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdOmFjdGl2ZSArIGJ1dHRvbjpiZWZvcmUsIGlucHV0W3R5cGU9c2VhcmNoXS5mb2N1cyArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICBpbnB1dFt0eXBlPXNlYXJjaF06OnBsYWNlaG9sZGVyIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdCg6aGFzKCsgYnV0dG9uKSkge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTBhMGEwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgaW5wdXRbdHlwZT1zZWFyY2hdICsgYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIJcIjtcbiAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi50b2dnbGUtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAudG9nZ2xlLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnVpLWJsb2NrLXBhbmUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC42KTtcbiAgY3Vyc29yOiBuby1kcm9wO1xuICB6LWluZGV4OiAxMDAwOyB9XG4gIC51aS1ibG9jay1wYW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgKNcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogODJweDtcbiAgICBjb2xvcjogcmdiYSgxNDksIDE0OSwgMTQ5LCAwLjYpOyB9XG5cbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAub3B0aW9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLm9wdGlvbi1jb250YWluZXIgKyAuc3NvLXNlcGVyYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ge1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAgIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ubWljcm9zb2Z0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9idXR0b25zL21pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIpOyB9XG4gIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciAuc3NvLXNlcGVyYXRvciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qXHJcbi0tLS0tIFNpdGUgU3R5bGVzIC0tLS0tIFxyXG5BbGxvd2luZyBDU1MgdmFyaWFibGVzIHRvIG92ZXJyaWRlIFNBU1MgY29uZmlndXJhdGlvbiwgdXNlZCBpbiBpbnN0YW5jZXMgd2hlcmUgeW91IG5lZWQgZGVwYXJ0bWVudCBzcGVjaWZjIGNvbG91cmluZy5cclxuXHJcbiovXG4ucmVxdWlyZWQtcHJvbXB0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXJlZC1wcm9tcHQge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5yZXF1aXJlZC1wcm9tcHQgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyLmNvbnRlbnQtYm9yZGVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuZm9ybS51c2VyLWRhdGEtZm9ybSB7XG4gIHBhZGRpbmc6IDAgMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmZvcm0uc2luZ2xlLWNvbHVtbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhMGEwYTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZDpsYXN0LWNoaWxkIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7IH1cblxuZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweCAyMDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbmZvcm0gZmllbGRzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9IH1cbiAgZm9ybSBmaWVsZHNldDpmaXJzdC1vZi10eXBlIGgyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIGZvcm0gZmllbGRzZXQgaDMsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIGZvcm0gZmllbGRzZXQgaDM6YmVmb3JlLCBmb3JtIGZpZWxkc2V0IGRpdiA+IGxlZ2VuZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGZvcm0gZmllbGRzZXQgaDM6YmVmb3JlLCBmb3JtIGZpZWxkc2V0IGRpdiA+IGxlZ2VuZDpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBmb3JtIGZpZWxkc2V0IGgzLCBmb3JtIGZpZWxkc2V0IGRpdiA+IGxlZ2VuZCB7XG4gICAgICAgIG1heC13aWR0aDogNjQwcHg7IH0gfVxuICBmb3JtIGZpZWxkc2V0IGgyLCBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogN3B4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7IH1cbiAgICBmb3JtIGZpZWxkc2V0IGgyICsgLnN1Yi1ncm91cC1uYW1lLCBmb3JtIGZpZWxkc2V0IGxlZ2VuZCArIC5zdWItZ3JvdXAtbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIGZvcm0gZmllbGRzZXQgdWwge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBmb3JtIGZpZWxkc2V0ID4gLmZvcm0tZXJyb3Ige1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICBmb3JtIGZpZWxkc2V0IC5zdWItZ3JvdXAtbmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDdweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgZm9ybSBmaWVsZHNldCAuc3ViLWdyb3VwLW5hbWUgKyAucmVxdWlyZWQtcHJvbXB0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGZvcm0gZmllbGRzZXQgLmVycm9yLWJsb2NrIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIGZvcm0gLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgICBtYXgtd2lkdGg6IDU3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwYTBhMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG4gICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciAuZmllbGRzZXQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIgKyBoMiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7IH0gfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5oZWFkaW5nLWNvbnRhaW5lciBoMiB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMTVweCA3LjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDg1cHg7IH0gfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5jYXB0Y2hhLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjsgfVxuICAuY2FwdGNoYS1jb250YWluZXIuY2hlY2tib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5jYXB0Y2hhLWNvbnRhaW5lciAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnBvcHVwLWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTE1MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNi42NjY2N3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDgwcHg7IH0gfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTIge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMyB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMyB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGgxLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoMywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGg0LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoNiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIHAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBhIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGgxLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoMywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGg0LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoNiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIHAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBhIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoMSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoMiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoMywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoNCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoNSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBoNiwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmFsZXJ0IGEge1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuZGlzYWJsZWQgcCB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmluZm9ybWF0aW9uIHAge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5uby13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmJlZm9yZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJ0ZWw6XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg6BcIjsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgNDVweCAyMHB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCAxNDQsIDE0MiwgMC4yKTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyB7XG4gICAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzczpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGZkZjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZywgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDphY3RpdmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydFtkaXNhYmxlZF0ge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmZvY3VzLXZpc2libGUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDAgMjIuNXB4IDEwcHgpO1xuICAgICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4uY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBtYXJnaW46IDMwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjBmMDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4vKlxyXG4tLS0tLSBIZWFkZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBVcHBlciArIGxvd2VyIG5hdmlnYXRpb24gYmFycy5cclxuLSBTaXRlIGxvZ29cclxuLSBIZWFkZXIgc3RpY2t5IGZ1bmN0aW9uYWxpdHk6XHJcbiAgLSBGdWxsXHJcbiAgLSBNaW5pZmllZFxyXG4gIC0gTm8gVG9wIEJhclxyXG4gIC0gTWVudVxyXG4tIFZBVCBTd2l0Y2hlclxyXG4tIEJyZWFkY3J1bWJzXHJcbi0gQmFza2V0IFN1bW1hcnkgXHJcbi0gQ2FsbG91dHMgaW4gdGhlIGhlYWRlciB0byBtb2RpZnkgY2FsbG91dCBzZWUgYXhpcy1ub3RpZmljYXRpb24uc2Nzc1xyXG4tIFByZWRpY3RpdmUgc2VhcmNoIHBvc2l0aW9uaW5nIHRvIG1vZGlmeSBzZWFyY2ggc3R5bGUgdGhlbiBnbyB0byBheGlzLWF1dG9jb21wbGV0ZS5zY3NzXHJcbi0gVVNQIGJhciB3aGljaCBpcyBlc3NlbnRpYWxseSBhIG1vZHVsZS5cclxuLSBXZWxjb21lIFRleHRcclxuLSBUYWcgbGluZXNcclxuLSBUT0RPOiBJIGFtIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiB0cnlpbmcgdG8gdW50YW5nbGUgdGhlIG1lZ2EgbWVudSBjc3MgKyBtYWtlIGl0IG1vcmUgZ2VuZXJpYyBhbmQgcmVob21lIGl0IGluc2lkZSBvZiBheGlzLW1lbnVzLnNjc3NcclxuKi9cbmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0ge1xuICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiAyMDAwOyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxLjVzIGVhc2Utb3V0OyB9IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk5vVG9wQmFyXCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1sZWZ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC42cywgbWFyZ2luLWJvdHRvbSAwLjhzOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAubG9nby1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1mdWxsLXNpemUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItYWNjb3VudC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMjNweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gI2FjdGlvbi1iYXItY29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICAgICAgICB0b3A6IDQ1cHg7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2ggKyBidXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciBhIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5ob21lLWJ1dHRvbiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAuaG9tZS1idXR0b24gYTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTEuNjY2NjdweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBmb250LXNpemUgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5tZW51ID4gbGk6bm90KC5ob21lLWJ1dHRvbikgPiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDIyLjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDIyLjVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzLCBoZWlnaHQgMC42czsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciwgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLWZ1bGwtc2l6ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gIG1heC13aWR0aDogNzAlO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGEsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMi41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYTpiZWZvcmUsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGE6aG92ZXIsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwidGVsOlwiXSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cInRlbDpcIl06YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJtYWlsdG86XCJdOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJtYWlsdG86XCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLXNlYXJjaDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1iYXNrZXQ6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1iYXNrZXQud2FybmluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldC5hbGVydDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OJXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1tZWdhLW1lbnU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1hY2NvdW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWFjY291bnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CHXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgbWF4LWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHotaW5kZXg6IDIwMDA7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS1tZW51LmFuaW1hdGUge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRTkzMzMwO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUuYWN0aXZlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMjVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLW1lbnUgLmNvbnRlbnQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMzQlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQ2LjIlO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmhlYWRlci1jb250ZW50LWxlZnQgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSwgLmhlYWRlci1jb250ZW50LWNlbnRlciA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpLCAuaGVhZGVyLWNvbnRlbnQtcmlnaHQgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhlYWRlci1jb250ZW50LWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgLW1zLWdyaWQtcm93LXNwYW46IDI7XG4gICAgLW1zLWdyaWQtY29sdW1uOiAxOyB9IH1cblxuLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUsIC5oZWFkZXItY29udGVudC1sZWZ0IC5kcm9wZG93bi5tZW51IHtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSwgLmhlYWRlci1jb250ZW50LWxlZnQgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5oZWFkZXItY29udGVudC1sZWZ0IC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cblxuLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUtY29udGFpbmVyIHVsID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNlbnRlciAubWVudS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmhlYWRlci1jb250ZW50LWNlbnRlciAubWVudSA+IGxpID4gYSwgLmhlYWRlci1jb250ZW50LWNlbnRlciAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGluaGVyaXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWdyaWQtcm93OiAyO1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAzOyB9IH1cbiAgLmhlYWRlci1jb250ZW50LXJpZ2h0IC5tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMCAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxvZ29Db250YWluZXIsIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9IH1cbiAgLmxvZ29Db250YWluZXIgYSwgLmxvZ28tY29udGFpbmVyIGEge1xuICAgIG1heC13aWR0aDogNTB2dztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgYSwgLmxvZ28tY29udGFpbmVyIGEge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciBpbWcsIC5sb2dvLWNvbnRhaW5lciBpbWcge1xuICAgIHdpZHRoOiAyMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIGltZywgLmxvZ28tY29udGFpbmVyIGltZyB7XG4gICAgICAgIHdpZHRoOiA2MTBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciAubG9nb01pbmlmaWVkLCAubG9nb0NvbnRhaW5lciAubG9nby1taW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvQ29udGFpbmVyIC5sb2dvLW1pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBsaW5lLWhlaWdodDogMi4yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwOmlzKDplbXB0eSkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyLmxvd2VyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5oZWFkZXItdGFnbGluZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMi4yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRhZ2xpbmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1iYXNpczogNTBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIuYWN0aXZlIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCBmaWVsZHNldCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBvcmRlcjogMTsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgb3JkZXI6IDI7IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3gge1xuICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICBvcmRlcjogMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEge1xuICAgICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSBzcGFuLCAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSAudW5pYm94LWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTphY3RpdmUgYSB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGUgc3BhbiwgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlIC51bmlib3gtaGlnaGxpZ2h0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hYy1yZXN1bHRzIHtcbiAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfSB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggNDBweCAwIDQwcHg7IH0gfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGk6bm90KDpmaXJzdC1jaGlsZCk6aG92ZXIgYS5hY19yZXN1bHRzX2VudHJ5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMGRlJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTJkZWcpOyB9XG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaSAubm8tcmVzdWx0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuaGVhZGluZzIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5oZWFkaW5nNCB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDZweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hY19yZXN1bHRzX2VudHJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI1NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDsgfSB9XG5cbiNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gIGhlaWdodDogNTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFjdGl2ZSAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFjdGl2ZSAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfSB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZSAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gkVwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBjb2xvcjogI2ZmNWUwNTsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICBjb2xvcjogI2ZmNmYyMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNmYyMDsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmY2ZjIwOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmNmYyMDsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuoJJcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBjb2xvcjogI2IyMGMwYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogNTAwMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgbGVmdDogYXV0bzsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCAuY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0U5MzMzMDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweCA1cHg7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYTpob3ZlciAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmhvdmVyIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYTphY3RpdmUgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmFjdGl2ZSAudXBkYXRlLW1lc3NhZ2Uge1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSAuYmFza2V0LWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLnN1bW1hcnktcmVjZW50bHktYWRkZWQgYSAudXBkYXRlLW1lc3NhZ2Uge1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgW2RhdGEtYmFza2V0LXN1bW1hcnktbm90aWZpY2F0aW9uc10ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwOyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgd2lkdGg6IDI1NXB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlcjphZnRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA5cHggMjNweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzkwOGU7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMge1xuICAgICAgd2lkdGg6IDE4NXB4OyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlsczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxLjVweDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogNzBweDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvLmJhc2tldC1kZXRhaWxzLXF1YW50aXR5IHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mby5iYXNrZXQtZGV0YWlscy1wcmljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLmJhc2tldC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5zdW1tYXJ5LW9yZGVyLXRvdGFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnN1bW1hcnktcXVhbnRpdHkge1xuICAgIG1hcmdpbjogMjBweCAwIDI1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuc3VtbWFyeS1xdWFudGl0eSBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5hY3Rpb24tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zdW1tYXJ5OmhvdmVyIC50ZXh0Q29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDg1JTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cblxuLnN1bW1hcnk6aG92ZXIgLnRleHRDb250YWluZXIgI2Jhc2tldFF1YW50aXR5LCAuc3VtbWFyeTpob3ZlciAudGV4dENvbnRhaW5lciAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN1bW1hcnk6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuXG4uc3VtbWFyeSAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZzphZnRlciB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNmYyMDsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZjZmMjA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gklwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMjBjMGM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTZweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgI2Jhc2tldFByZXZpZXdQcmljZSB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogMzcwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFjdGl2ZSAjYmFza2V0UHJldmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU3MHB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHggNjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDUwMDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ2MHB4O1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiA1MDAwOyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgI3JlY2VudGx5QWRkZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAjcmVjZW50bHlBZGRlZCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci51cGRhdGUuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDI1NXB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfSB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMTRweCAyMHB4OyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtYmFzaXM6IDUwcHg7IH0gfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgLnRleHQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gdWwgPiBsaSB1bCA+ID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCB7XG4gICAgcGFkZGluZzogMCAwIDE3LjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaTpub3QoLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCkgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4OyB9IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaS5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLmhvbWUtYnV0dG9uIGEsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaS5ob21lLWJ1dHRvbiBhIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAxNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpID4gYTphZnRlciwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biA+IGxpID4gYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51ID4gbGk6bGFzdC1jaGlsZCA+IGE6YmVmb3JlLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGk6bGFzdC1jaGlsZCA+IGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5tZWdhLW1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUubWVnYS1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIgdWwubWVudS5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfSB9XG5cbi5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIgKyAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4uaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiAwIDEyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIudG9nZ2xlLWJhci1pbmFjdGl2ZS1tb2JpbGUge1xuICAgICAgZ2FwOiAwOyB9IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLWNvbnRhaW5lci5hbGlnbi1pdGVtcy1wYXJlbnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbiB7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDMuNXB4IDcuNzVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2VjOTA4ZTsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5zZWFyY2ggLnRvZ2dsZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b24gLmJhc2tldC1pdGVtLWNvdW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMjZweDtcbiAgICBwYWRkaW5nOiAycHggNC41cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNWI3MDE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIDAuOHM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbjpob3ZlciAuYmFza2V0LWl0ZW0tY291bnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY2ZjIwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lci5hY3Rpb24tYmFyIC50b2dnbGUtYnV0dG9uOmFjdGl2ZSAuYmFza2V0LWl0ZW0tY291bnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuc2VhcmNoLmFjdGl2ZSB7XG4gICAgICB3aWR0aDogNDkwcHg7XG4gICAgICByaWdodDogLTEycHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY2NvdW50LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51IHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51LmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51IC5hY2NvdW50LW1lbnUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGlvbi1iYXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTE2cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3Rpb24tYmFyLmFjdGl2ZSB7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGlvbi1iYXIuYWN0aXZlIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuXG4uaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcbiAgbWluLWhlaWdodDogMzVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7XG4gIHBhZGRpbmc6IDMuNXB4IDcuNzVweDtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbi5sb2dnZWQtaW4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZWM5MDhlOyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ah1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYWNjb3VudC1tZW51IGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hY2NvdW50LW1lbnUgYTpob3ZlciB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnVzcC1iYXIsIC5oZWFkZXItdXNwLWJhciB7XG4gIHBhZGRpbmc6IDVweCAwIDcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDhweCAwIDVweDsgfSB9XG5cbi51c3AtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNwLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC51c3AtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYSwgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgPiBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gPiBwIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDJweCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHAge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBpbWcsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgYTpob3ZlciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGE6YWN0aXZlLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEgcCwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhIHAge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV06Zmlyc3Qtb2YtdHlwZSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXTpsYXN0LW9mLXR5cGUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC51c3AtY29udGFpbmVyIC5mYXMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1icy1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cbiAgYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyOm5vdCg6aGFzKC5icmVhZGNydW1icykpIHtcbiAgICBwYWRkaW5nOiA3LjVweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSk6bm90KDpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikpOm5vdCg6aGFzKC52YXQtc3dpdGNoZXItY29udGFpbmVyKSkge1xuICBwYWRkaW5nOiA3LjVweDsgfVxuXG4uaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5icmVhZGNydW1icyksIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmJyZWFkY3J1bWJzKSwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDsgfSB9XG5cbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cblxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMi41cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLmdyaWQtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5icmVhZGNydW1icyBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgICAgIG1hcmdpbjogMCA1cHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuYnJlYWRjcnVtYnMgbGk6YWZ0ZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7IH0gfVxuXG4udG9nZ2xlLXN3aXRjaC1sYWJlbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAudG9nZ2xlLXN3aXRjaC1sYWJlbC1jb250YWluZXIgc3BhbiB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0ODVjZjsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDg1Y2Y7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZWRpdC1tb2RlLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZWRpdC1tb2RlLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZWRpdC1tb2RlLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5lZGl0LW1vZGUub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5pbmNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC5zd2l0Y2gtZXhjLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vZmYgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuc3dpdGNoLWV4YyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5pbmNsdXNpdmUgLnN3aXRjaCwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC5zd2l0Y2gsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5zd2l0Y2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzOXB4OyB9XG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAuc3dpdGNoLWluYywgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5zd2l0Y2gtaW5jIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAuc3dpdGNoLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5zd2l0Y2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMTYuMTkwNDhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2g6aG92ZXIsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xuICAgIG1pbi13aWR0aDogMTQuNzgyNjFweDtcbiAgICBoZWlnaHQ6IDE0Ljc4MjYxcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogOC4wOTUyNHB4O1xuICAgICAgaGVpZ2h0OiA4LjA5NTI0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWV4YywgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1pbmMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMjsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWV4YyB7XG4gICAgcmlnaHQ6IDdweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoLWluYyB7XG4gICAgbGVmdDogNXB4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtaW5wdXQsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgcCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciBsYWJlbCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgbGFiZWwgc3BhbiwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciBsYWJlbCBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4vKlxyXG4tLS0tLSBGb290ZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBGb290ZXIgbWVudSAoIGFsc28gcmVmZXIgdG8gYXhpcy1tZW51cy5zY3NzIClcclxuLSBQcm9tb3Rpb24gYXJlYTpcclxuICAtIFNvY2lhbCBJY29uc1xyXG4gIC0gTWFpbGluZyBMaXN0XHJcbiAgLSBDbXMgZW50cmllc1xyXG4tIEZvb3RlciBCYW5uZXJzICggUGF5bWVudCBtZXRob2QgbG9nb3MgKVxyXG4tIENvcHlyaWdodFxyXG4tIEdvb2dsZSBUYWcgTWFuYWdlciBmb290ZXIgd2lkZ2V0IGFyZWFcclxuLSBGb290ZXIgTW9kdWxlcyAoIGFsc28gcmVmZXIgdG8gbW9kdWxlcy5zY3NzIClcclxuKi9cbmZvb3RlciAucm93LWJhY2tncm91bmQ6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuZm9vdGVyIC5zb2NpYWxJY29ucywgZm9vdGVyIC5zb2NpYWwtaWNvbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucywgZm9vdGVyIC5zb2NpYWwtaWNvbnMge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgaDM6bm90KDplbXB0eSksIGZvb3RlciAuc29jaWFsLWljb25zIGgzOm5vdCg6ZW1wdHkpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGNvbG9yOiAjZGE3ZTdjO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyBoMzpub3QoOmVtcHR5KSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgaDM6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBhLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgZm9vdGVyIC5zb2NpYWxJY29ucyBhOmhvdmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICBmb290ZXIgLnNvY2lhbEljb25zIGE6YWN0aXZlLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgaW1nLCBmb290ZXIgLnNvY2lhbC1pY29ucyBpbWcge1xuICAgIG1heC13aWR0aDogMjIuNXB4OyB9XG4gIGZvb3RlciAuc29jaWFsSWNvbnMgLmljb25zLWNvbnRhaW5lciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIGZvb3RlciAuc29jaWFsSWNvbnMgLmljb25zLWNvbnRhaW5lciwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbmZvb3RlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb290ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgZm9vdGVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2YzZjNmMzsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYS5zaG93LWNvbnRhY3QtaWNvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEuc2hvdy1jb250YWN0LWljb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2YzZjNmMzsgfVxuXG4uZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIuY29udGVudC1oZWFkZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLmNvbnRlbnQtaGVhZGVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDA7IH0gfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIucGF5bWVudC1tZXRob2RzIHtcbiAgICAgICAgbWFyZ2luOiA2MHB4IDAgMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5wYXltZW50LW1ldGhvZHMgLmZvb3Rlci1iYW5uZXItc2VyaWVzIC5pbWFnZSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGZpdC1jb250ZW50OyB9IH1cbiAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciArIC5mb290ZXItYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyB7XG4gICAgICAgIGdhcDogMCAyNC41cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIC5pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IH1cblxuLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIge1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSB7XG4gIG1hcmdpbjogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQgcCwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmZpcnN0LWNoaWxkIGEge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCBwLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSA+IGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiA4MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IGE6bm90KFtocmVmXSkge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBvcmRlcjogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYVtocmVmXTpob3ZlciwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcFtocmVmXTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGFbaHJlZl06YWN0aXZlLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwW2hyZWZdOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH0gfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcmRlcjogMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTAuNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMXB4OyB9IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAuNXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSAubGluay1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbi5tYWluLW1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG9yZGVyOiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24ubWFpbi1tZW51IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIC5tZW51IC5pcy1zdWJtZW51LWl0ZW0gYSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIge1xuICBmbGV4OiAxO1xuICBvcmRlcjogMzsgfVxuICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDMwcHg7IH0gfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgPiBkaXYge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG5cbi5mb290ZXItcHJvbW90aW9ucyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1wcm9tb3Rpb25zIHtcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zICsgLmZvb3Rlci1uYXZpZ2F0aW9uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZm9vdGVyLXByb21vdGlvbnMgKyAuZm9vdGVyLW5hdmlnYXRpb24gLm1lbnUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAubWFpbGluZy1saXN0LWNvbnRhaW5lciwgLmZvb3Rlci1wcm9tb3Rpb25zIC5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5mb290ZXItcHJvbW90aW9ucyAuc29jaWFsSWNvbnMsIC5mb290ZXItcHJvbW90aW9ucyAuc29jaWFsLWljb25zIHtcbiAgICBvcmRlcjogMjsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDM7IH1cblxuLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyBoMyB7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyBoMyB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cblxuLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cblxuLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4OyB9IH1cbiAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDsgfSB9XG4gICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG4gICAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9vdGVyLXJldmVhbC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5mb290ZXItcmV2ZWFsLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4OWQ5YzsgfVxuXG4uZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyLmFjdGl2ZSAuZm9vdGVyLXJldmVhbC1idXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIuYWN0aXZlIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIuYWN0aXZlIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH0gfVxuXG4uZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMTVweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6aG92ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6aG92ZXI6YWZ0ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuaG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmFjdGl2ZSwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzkwOGU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWM5MDhlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazphY3RpdmU6YWZ0ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6ZGlzYWJsZWQsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuZGlzYWJsZWQsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmtbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkOmhvdmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+HmFwiO1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDU1cHg7IH0gfVxuICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHAge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAuNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMXB4OyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgc3Bhbi5tYWlsLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSBpbnB1dCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBmb3JtIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH0gfVxuICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgcGFkZGluZzogMjBweCAwIDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyT3V0ZXJDb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDEwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmZvb3Rlck91dGVyQ29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogMjVweCAwIDA7IH0gfVxuICAuZm9vdGVyT3V0ZXJDb250YWluZXIgI2Zvb3Rlci1pbm5lci1jb250YWluZXIsIC5mb290ZXItYmFja2dyb3VuZCAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlck91dGVyQ29udGFpbmVyICNmb290ZXItaW5uZXItY29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQgI2Zvb3Rlci1pbm5lci1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cblxuLypcclxuLS0tLS0gQUpBWCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEFKQVggU3Bpbm5lclxyXG4tIENhbGxiYWNrIGNvbnRhaW5lcnNcclxuLSBVcGRhdGUgQ29udGVudCAtIEJhc2ljYWxseSBhIGNvbnRhaW5lciBpbnNpZGUgb2YgdGhlIGFqYXggcmVzcG9uc2UgdGhhdCBhbGxvd3MgeW91IHRvIHVwZGF0ZSBjb250ZW50IG91dHNpZGUgb2YgdGhlIGNhbGxiYWNrIGNvbnRhaW5lci5cclxuKi9cbi5jYWxsYmFja0NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICAuY2FsbGJhY2tDb250YWluZXI6aGFzKC5BSkFYQmxvY2spIHtcbiAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XG5cbi5jYWxsYmFja0xpc3RDb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLkFKQVhCbG9jaywgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjM4LCAyMzgsIDAuNik7XG4gIGN1cnNvcjogbm8tZHJvcDtcbiAgei1pbmRleDogMTAwMDA7IH1cbiAgLkFKQVhCbG9jayAuc3Bpbm5lciwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5zcGlubmVyIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5BSkFYQmxvY2sgLnNwaW5uZXI6YmVmb3JlLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLnNwaW5uZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogNDJweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgcmdiYSgyMzMsIDUxLCA0OCwgMC4yKTtcbiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjRTkzMzMwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDBzO1xuICAgICAgYW5pbWF0aW9uOiBzcGluIDAuN3MgY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTEsIDAuMjIsIDAuODY1KSAwcyBpbmZpbml0ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9IH1cbiAgICAuQUpBWEJsb2NrIC5zcGlubmVyICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5zcGlubmVyICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gIC5BSkFYQmxvY2sgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbltkYXRhLXVwZGF0ZS1jb250ZW50XSwgW2RhdGEtYWpheC11cGRhdGUtYnJlYWRjcnVtYnNdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxyXG4tLS0tLSBGaWx0ZXJzIC0tLS0tLSBcclxuLSBUaGVzZSBhIHR5cGljYWxseSBvbiBsaXN0IHBhZ2VzIGZvciBwcm9kdWN0cy5cclxuLSBBdHRyaWJ1dGUgZmlsdGVycyB0aGF0IGFsc28gaW5jbHVkZSBjb2xvdXIgZmlsdGVycyBhbmQgcHJpY2Ugc2xpZGVyLlxyXG4tIFlvdSB3aWxsIGFsc28gZmluZCB0aGUgbW9iaWxlIHN0eWxlcyBoZXJlIGZvciBmaWx0ZXJzLlxyXG4qL1xuI21vYmlsZVRvZ2dsZUNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNtb2JpbGVUb2dnbGVDb250YWluZXIgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuI2ZpbHRlcnMtdG9nZ2xlLCAuZmlsdGVyLXRvZ2dsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNmaWx0ZXJzLXRvZ2dsZSwgLmZpbHRlci10b2dnbGUge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICNmaWx0ZXJzLXRvZ2dsZTpob3ZlciwgLmZpbHRlci10b2dnbGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgI2ZpbHRlcnMtdG9nZ2xlOmhvdmVyOmJlZm9yZSwgLmZpbHRlci10b2dnbGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlOm5vdCguaXMtc3R1Y2spLCAuZmlsdGVyLXRvZ2dsZTpub3QoLmlzLXN0dWNrKSB7XG4gICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlLmlzLXN0dWNrLCAuZmlsdGVyLXRvZ2dsZS5pcy1zdHVjayB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDRzO1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAjZmlsdGVycy10b2dnbGUuaXMtc3R1Y2s6YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZS5pcy1zdHVjazpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlOmJlZm9yZSwgLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CsFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2ZpbHRlcnMtdG9nZ2xlOmJlZm9yZSwgLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlOmhvdmVyLCAuZmlsdGVyLXRvZ2dsZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAjZmlsdGVycy10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQsIC5maWx0ZXItdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNmaWx0ZXJzLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCwgLmZpbHRlci10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQge1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0LjJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBib3JkZXI6IDAuOHB4IHNvbGlkICNmZmZmZmY7IH0gfVxuXG4uZmlsdGVycy1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmlsdGVycy1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuOCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5maWx0ZXJzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmZpbHRlcnMtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbHRlcnMtZm9vdGVyIC5idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuI2ZpbHRlckJhY2tUb0xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2ZpbHRlckJhY2tUb0xpc3QgLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzMsIDUxLCA0OCwgMC40KTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51ID4gdWwgPiBsaTpub3QoLmFjdGl2ZSkgLmF0dHJpYnV0ZXNDb250YWluZXIge1xuICBoZWlnaHQ6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXR0cmlidXRlTGlzdC5tZW51ID4gbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDsgfSB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWw6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGkge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpLmFjdGl2ZSBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgdWwge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVyTmFtZSwgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCBsaTpob3ZlciAuZmlsdGVySXRlbUNvdW50IHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpOmhvdmVyIC5jb2xvdXJQcmV2aWV3IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGFiZWw6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxhYmVsOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5maWx0ZXJOYW1lIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbG91ci1wcmV2aWV3LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbG91clByZXZpZXcge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMTBweCAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmZpbHRlckl0ZW1Db3VudCB7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5jb250cm9sIC5jaGVja2JveCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG9yZGVyOiA0OyB9XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29udHJvbCAuY2hlY2tib3ggc3BhbjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LmlzLXN1Ym1lbnUtaXRlbVthcmlhLWV4cGFuZGVkPXRydWVdID4gYSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LmlzLXN1Ym1lbnUtaXRlbS5hY3RpdmUge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51W2FyaWEtaGlkZGVuPXRydWVdIHtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44czsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS5zY3JvbGxlciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUuc2Nyb2xsZXIgdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBjb2xvcjogI0U5MzMzMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5vcHRpb25IZWFkaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5vcHRpb25IZWFkaW5nOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAub3B0aW9uSGVhZGluZyBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuc3VibWVudSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd01vcmVBdHRyaWJ1dGVzID4gYSwgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGE6aG92ZXIsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dNb3JlQXR0cmlidXRlcyA+IGE6YWN0aXZlLCAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNlYzkwOGU7IH1cblxuLnNob3dNb3JlQXR0cmlidXRlcy5hY3RpdmUgYSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjRTkzMzMwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIZcIjtcbiAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTpob3ZlciB7XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuc2hvd0xlc3NBdHRyaWJ1dGVzIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2VjOTA4ZTsgfVxuICAgIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZWM5MDhlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4jZmlsdGVycy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZS11cGRhdGluZyAjZmlsdGVycy1jb250YWluZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjM7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZSwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDEwMDAwOyB9XG4gICAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUgLmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nIC5hdHRyaWJ1dGUtbGlzdC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gaDIge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSBoMiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfSB9XG4gICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpOmFjdGl2ZSwgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaTphY3RpdmUgYSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSAuc2hvd01vcmVBdHRyaWJ1dGVzQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSAuc2hvd01vcmVBdHRyaWJ1dGVzQ29udGFpbmVyIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhcHBsaWVkRmlsdGVycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG5cbiNhcHBsaWVkRmlsdGVycyBoMyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuI2FwcGxpZWRGaWx0ZXJzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4jYXBwbGllZEZpbHRlcnMgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuICAjYXBwbGllZEZpbHRlcnMgbGk6aG92ZXIgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAjYXBwbGllZEZpbHRlcnMgbGk6aG92ZXIgYTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuI2FwcGxpZWRGaWx0ZXJzIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDAgNXB4IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gICNhcHBsaWVkRmlsdGVycyBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAneCc7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICNhcHBsaWVkRmlsdGVycyBhOmhvdmVyOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAjYXBwbGllZEZpbHRlcnMgYS5jbGVhci1hbGwtYXR0cmlidXRlcyB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmlucHV0LnByaWNlLXNsaWRlci1pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLnByaWNlLXNsaWRlci1pbnB1dCB7XG4gIG1heC13aWR0aDogNzBweDtcbiAgbWF4LWhlaWdodDogMzVweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dC51aS1zdGF0ZS1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0LnVpLXN0YXRlLWFjdGl2ZSArIC5jdXJyZW5jeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQgKyAuY3VycmVuY3kge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2EwYTBhMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQ6Zm9jdXMgKyAuY3VycmVuY3kge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogLTE1cHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dDpyZWFkLW9ubHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcmljZS1pbnB1dC1jb250YWluZXI6bnRoLW9mLXR5cGUoMikge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4jcHJpY2Utc2xpZGVyIHtcbiAgbWF4LXdpZHRoOiA5NiU7XG4gIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcmljZS1zbGlkZXIge1xuICAgICAgbWF4LXdpZHRoOiA5MyU7IH0gfVxuXG4jcHJpY2VBdHRIaWdoIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi8qXHJcbi0tLS0tIE1vZGFscyAtLS0tLS0gXHJcbi0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIHRoYXQgZ2V0cyB1c2VkIGZvciBwb3B1cCBjb250ZW50IGluIGV4cHJlc3MuXHJcbi0gQ2FuIGJlIHVzZWQgdG8gcG9wIGZvcm0sIGNtcyBjb250ZW50LCBub3RpZmljYXRpb24gJiBwYXltZW50IGZyYW1lcy5cclxuKi9cbi5tb2RhbC1jb250YWluZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAucG9wdXAtYmFja2dyb3VuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDE1cHggYXV0byAzMHB4OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiAyMDAxOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3RpdmUgLnBvcHVwLWJhY2tncm91bmQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hamF4IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hamF4IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRyb3BwZWQtc2Vzc2lvbiAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGgpICsgMTAwcHgpOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY21zLWVudHJ5LXZpZXdlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zaXRlLWxpc3QucHVibGlzaC1oaXN0b3J5IC5jb250ZW50IHtcbiAgICB3aWR0aDogOTAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc2l0ZS1saXN0LnNpdGUtaW5mb3JtYXRpb24gLmNvbnRlbnQge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24ge1xuICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICRjb2xvdXIzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5OCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogdW5zZXQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5tb2RhbC1oZWFkZXI6aGFzKC5jbXMtY29udGVudC1jb250YWluZXIpIH4gLmNvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiB1bnNldDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNrLWVkaXRvcl9fbWFpbiA+IGRpdiB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWVkaXRvci1oZWlnaHQpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmluc2VydC1hcnRpY2xlIC5jay1lZGl0b3IgLmNrLWNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5pbnNlcnQgLmNrLWVkaXRvciAuY2stY29udGVudCwgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLnByb3BlcnR5LWVkaXRvciAuY2stZWRpdG9yIC5jay1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMzB2aDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbiAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWVkaWEtYnJvd3NlciAubWVkaWEtYnJvd3Nlci1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLnJldmlzaW9uLXRleHQge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMCBhdXRvO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMge1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2MHB4IDFmciAzMHB4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXI6YmVmb3JlLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyOmFmdGVyLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIC5idXR0b24tbGFiZWwsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qGBXCI7XG4gICAgICAgICAgY29sb3I6ICM2NjMzOTk7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AmVwiO1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gc3BhbiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5idXR0b24tY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmRhdGEtdGltZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMzBweCAzMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IGlmcmFtZSwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIGhlaWdodDogNjIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuOHM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgaWZyYW1lOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCBpZnJhbWU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmVucXVpcnktZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4IDVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDUwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0sIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDE5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogYXV0bztcbiAgICAtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAjYnJhbmNoLXN3aXRjaGVyLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAjYWNjb3VudC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCA4MHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyAuYWRkcmVzcy1saW5lLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgLmFkZHJlc3MtbGluZSwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgLmFkZHJlc3MtbGluZSB7XG4gICAgcGFkZGluZzogMnB4IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAubGFiZWwsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5sYWJlbCwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuZm9ybSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAubW9kYWwtY29udGFpbmVyLnRhYmxlIC5jb250ZW50IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAubW9kYWwtaGVhZGVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAubW9kYWwtaGVhZGVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB6LWluZGV4OiAxNTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLnNlbGVjdC1icmFuY2hlcy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC50YWJsZS1mb290ZXItc3BhY2VyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuYnJhbmNoLXNlYXJjaCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250cm9sLmNoZWNrYm94IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgW2luamVjdC1jb250YWluZXJdIHtcbiAgICBwYWRkaW5nOiA1cHggNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0NjVweDsgfVxuICAubW9kYWwtY29udGFpbmVyLnNjYW5uZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NTBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NXZ3OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIFtpbmplY3QtY29udGFpbmVyXSBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAubW9kYWwtaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIHBhZGRpbmc6IDVweCA0NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTdlN2M7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAubW9kYWwtaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggNDRweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCAzMHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lci5kaXNhYmxlZC1uby1jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lcjplbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMTIuNXB4O1xuICAgIHJpZ2h0OiAyMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogY29udHJhY3QtY2hlY2tlcigjZmY2ZjIwLCAjZGE3ZTdjKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogMTZweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDI2LjY2NjY3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5tZXNzYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSBwOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDMsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgaDYsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRmZGY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDEsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGgyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoMywgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDQsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGg1LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoNiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgcCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoMiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGgzLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoNSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGg2LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZmRmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDEsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDE0NCwgMTQyLCAwLjIpO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDE0NCwgMTQyLCAwLjIpO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxMTVweCAxMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICAgICAgcGFkZGluZzogMCA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogODg1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLm1vZGFsLWxvZ28ge1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBoZWlnaHQ6IDEzNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuaW1hZ2Utc2xvdC0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BnlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEzNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgMTQ0LCAxNDIsIDAuMik7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwYTBhMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4OyB9IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiA4MHZ3O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIHdpZHRoOiA2NDBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLXNlY3Rpb24gaDIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDdweCAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgIHdvcmQtc3BhY2luZzogMnB4OyB9XG4gIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1vcHRpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiAubGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG4uaW5qZWN0LWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltpbmplY3QtY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtpbmplY3QtY29udGFpbmVyXTpoYXMoZGl2LkFKQVhCbG9jaykge1xuICAgIG1pbi13aWR0aDogMzIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbaW5qZWN0LWNvbnRhaW5lcl06aGFzKGRpdi5BSkFYQmxvY2spIHtcbiAgICAgICAgbWluLXdpZHRoOiA2NDBweDsgfSB9XG4gIFtpbmplY3QtY29udGFpbmVyXSAubW9kYWwtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAzMHB4OyB9XG5cbi5pbmplY3QtYnV0dG9uIHtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgei1pbmRleDogMTsgfVxuICAuaW5qZWN0LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaW5qZWN0LWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5pbmplY3QtYnV0dG9uLmZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbmplY3QtYnV0dG9uLmZvcm0ge1xuICAgICAgICBtYXJnaW46IDAgNTBweCAwIGF1dG87IH0gfVxuICAgIC5pbmplY3QtYnV0dG9uLmZvcm06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4vKlxyXG4tLS0tLSBNb2R1bGVzIC0tLS0tXHJcblRoZXNlIGNhbiBiZSB1c2VkIGFueXdoZXJlIG9uIHRoZSBzaXRlIGhlYWRlciwgbWFpbiBjb250ZW50ICYgZm9vdGVyLCB0aGVzZSBoYXZlIGEgaGFyZCBkZXBlbmRhbmN5IG9uIGZvdW5kYXRpb24gWFkgZ3JpZCBzeXN0ZW0gZm9yIHRoZWlyIHBvc2l0aW9uaW5nLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFByb2R1Y3QgLyBJbWFnZSBjb2xsZWN0aW9uc1xyXG4gIC0gR3JpZCB2aWV3XHJcbiAgLSBTbGlkZXNob3cgdmlld1xyXG4tIFZhcm91cyBDTVMgdHlwZXM6XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIEdlbmVyaWMgQ01TIGVudHJpZXMgXHJcbi0gRUJHIEluZm9ybWF0aW9uXHJcbi0gQmFja2dyb3VuZHMgKCBDdXJyZW50bHkgb25seSBzdXBwb3J0IGp1c3QgY29sb3VycyBub3QgaW1hZ2VzICk6IFxyXG4gIC0gUm93IEJhY2tncm91bmRzIFxyXG4gIC0gTW9kdWxlIEJhY2tncm91bmRzXHJcbiovXG4ucm93LWJhY2tncm91bmQ6Zmlyc3Qtb2YtdHlwZSAubW9kdWxlLWJhY2tncm91bmQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5yb3ctYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00NXB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAucm93LWJhY2tncm91bmQgLm1vZHVsZS1oZWFkaW5nICsgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5tb2R1bGUtaGVhZGluZyArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWhlYWRpbmcgKyAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuXG4uZ3JpZC1jb250YWluZXIgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAubW9kdWxlLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogNi41JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5yZW1vdmUtbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQucmVtb3ZlLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLnJlbW92ZS1tYXJnaW4tYm90aCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2xsZWN0aW9uIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0gLmltYWdlIHtcbiAgICBwYWRkaW5nOiAzcHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1yZW1vdmUtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDA7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1zbWFsbC1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogNy41cHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1tZWRpdW0tZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDExLjUzODQ2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XG4gICAgLS1tb2R1bGUtZ3V0dGVyOiAzOC40NjE1NHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1sYXJnZS1ndXR0ZXIge1xuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDUwcHg7IH0gfVxuICAuY29sbGVjdGlvbi5pbWFnZS1ncmlkLW1vZHVsZSwgLmNvbGxlY3Rpb24uaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gIC5jb2xsZWN0aW9uIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gIC5jb2xsZWN0aW9uIC5ncmlkLW1hcmdpbi14ID4gLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuY29sbGVjdGlvbiAuZ3JpZC14IHtcbiAgICBkaXNwbGF5OiBncmlkOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0xIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC03IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTgge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtOCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0xIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gICAgbWF4LWhlaWdodDogMTI4MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjFcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMzAwcHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMiAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjJcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNjMwcHg7XG4gICAgbWF4LWhlaWdodDogNjMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0yIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDY0NHB4O1xuICAgICAgbWF4LWhlaWdodDogNjQ0cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMyAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjNcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNDE4cHg7XG4gICAgbWF4LWhlaWdodDogNDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0zIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiM1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDQyNHB4O1xuICAgICAgbWF4LWhlaWdodDogNDI0cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNCAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMzEycHg7XG4gICAgbWF4LWhlaWdodDogMzEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC00IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDMxNnB4O1xuICAgICAgbWF4LWhlaWdodDogMzE2cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjVcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjQ5cHg7XG4gICAgbWF4LWhlaWdodDogMjQ5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC01IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNiAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjZcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjA1cHg7XG4gICAgbWF4LWhlaWdodDogMjA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC02IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDIwN3B4O1xuICAgICAgbWF4LWhlaWdodDogMjA3cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNyAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjdcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgbWF4LWhlaWdodDogMTc1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC03IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiN1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE3NXB4O1xuICAgICAgbWF4LWhlaWdodDogMTc1cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtOCAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjhcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTUzcHg7XG4gICAgbWF4LWhlaWdodDogMTUzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC04IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiOFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE1MnB4O1xuICAgICAgbWF4LWhlaWdodDogMTUycHg7IH0gfVxuICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLmNvbXBhY3QgLmRlc2NyaXB0aW9uLCAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguY29tcGFjdCkgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXIuY29tcGFjdCAuZGVzY3JpcHRpb24sIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXI6bm90KC5jb21wYWN0KSAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogU2V0dGluZyB0aGlzIGdlbmVyaWNhbGx5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XHJcbiAgICAgICAgICAgIDEuIElmIGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzIGlzIGVuYWJsZWRcclxuICAgICAgICAgICAgMi4gSWYgaW1hZ2Ugc2NhbGUgaXMgZW5hYmxlZC5cclxuICAgICAgICAgICAgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlLCAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIuaW1hZ2Uge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDEwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiB1bnNldDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMC4yMzQzOHJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBvcmRlcjogMTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2Uge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtcm93OiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMikge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSkge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2Uge1xuICB3aWR0aDogMTEwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZS1jb250YWluZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSB7XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBhIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGJ1dHRvbiB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDVweDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiA2NiU7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlIHtcbiAgICB3aWR0aDogMTEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUge1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5pbWFnZSBpbWcge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI0U5MzMzMCk7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVzY3JpcHRpb24gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvZGUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC52YXQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIGZvcm0sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24ge1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmZhdm91cml0ZXNDb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGU6bm90KDpoYXMoaW1nKSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGU6bm90KDpoYXMoaW1nKSkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpob3ZlciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmNlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uaW1hZ2UtZ3JpZC1tb2R1bGUgLmltYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5pbWFnZS1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW46IGF1dG87IH1cblxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lcjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2R1bGUtY29udGVudC1jb250YWluZXI6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuXG4uY21zLW1vZHVsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jbXMtbW9kdWxlIGgxIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtbW9kdWxlIGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoMTpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNtcy1tb2R1bGUgaDI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY21zLW1vZHVsZSBoMjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAuY21zLW1vZHVsZSBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDI6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgaDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5jbXMtbW9kdWxlIGgzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNtcy1tb2R1bGUgaDM6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGgzOm9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmNtcy1tb2R1bGUgaDQ6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGg0Om9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg1IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmNtcy1tb2R1bGUgaDU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGg1Om9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg2IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmNtcy1tb2R1bGUgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGg2Om9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNtcy1tb2R1bGUgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5jbXMtbW9kdWxlIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtbW9kdWxlIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLmNtcy1tb2R1bGUgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuY21zLW1vZHVsZSBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLW1vZHVsZSB1bCwgLmNtcy1tb2R1bGUgb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNtcy1tb2R1bGUgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5jbXMtbW9kdWxlIHVsIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAuY21zLW1vZHVsZSB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuY21zLW1vZHVsZSB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmNtcy1tb2R1bGUgb2wge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgIC5jbXMtbW9kdWxlIG9sIG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLmNtcy1tb2R1bGUgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAuY21zLW1vZHVsZSBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gIC5jbXMtbW9kdWxlIGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuY21zLW1vZHVsZSB1bCArIGgxLCAuY21zLW1vZHVsZSBvbCArIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDIsIC5jbXMtbW9kdWxlIG9sICsgaDIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoMywgLmNtcy1tb2R1bGUgb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGg0LCAuY21zLW1vZHVsZSBvbCArIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDUsIC5jbXMtbW9kdWxlIG9sICsgaDUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoNiwgLmNtcy1tb2R1bGUgb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLW1vZHVsZSBkbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY21zLW1vZHVsZSBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5jbXMtbW9kdWxlIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5jbXMtbW9kdWxlIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeS5jZWxsLWd1dHRlcnMge1xuICAgICAgZ2FwOiAxMHB4OyB9XG4gICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkgPiBpbWcge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkgYSB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5IGEgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNtcy1tb2R1bGUgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9cIl0ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGNvZGUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgMCA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzVweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgY29kZTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk1OTU5NTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgcGFkZGluZyAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvg4VcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgZm9udC1zaXplIDAuOHM7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlLCAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5jbXMtbW9kdWxlIGE6aG92ZXIgaDIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdHJ1ZSwgbm9uZSwgdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB0cnVlLCBub25lLCB1bmRlcmxpbmU7IH1cbiAgLmNtcy1tb2R1bGUgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIHtcbiAgICBnYXA6IDI1cHg7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAvKiogV29yayBvdXQgdGhlIGNvbHVtbiB3aWR0aCwgdGhpcyB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBmb3IgYSAyIGNvbHVtbiBsYXlvdXQgd2hpY2ggZ29lcyBkb3duIHRvIGEgc2luZ2xlIGNvbHVtbiBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnNcclxuICAgICAgICAgICAgLSBJbiBtb2JpbGVcclxuICAgICAgICAgICAgLSBXaGVuIHRoZSBtb2R1bGUgY29udGFpbmVyIGlzIG5vIGxvbmdlciB3aWRlIGVub3VnaCB0byBzaG93IHRvIGNvbHVtbnMgd2l0aCBhIHdpZHRoIG9mIHRoZSBjYWxjdWxhdGVkIGNvbHVtbiB3aWR0aCBiZWxsb3cuXHJcbiAgICAgICAgICAgICoqL1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbi1jb250ZW50LCA1NjBweCkpO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBnYXA6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiA1NTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDsgfVxuICAgICAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogNTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA3LjUlOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7IH1cbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogNDc1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAucmVhZC1tb3JlLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tbGVmdCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1yaWdodCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1jZW50ZXIgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCAuY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcC5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtdG9wIC5yZWFkLW1vcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAucmVhZC1tb3JlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAucmVhZC1tb3JlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxheW91dC1zdHlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sYXlvdXQtc3R5bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogdW5zZXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQ6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3Q6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIGhlaWdodDogMzgwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIGltZywgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIgaW1nLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtaGVhZGluZywgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWhlYWRpbmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNtcy1jb250ZW50LCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNtcy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciB7XG4gICAgb3JkZXI6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyICsgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciArIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAuY21zLW1vZHVsZS5jb2x1bW4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNtcy1tb2R1bGUuY29sdW1uIC5jb250ZW50LWJhbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gNjBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbiAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ3MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5jb2x1bW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5jb2x1bW4taW52ZXJ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgICAgaGVpZ2h0OiAzOTBweDsgfSB9XG4gIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmhhcy1pbWFnZSAuY29udGVudC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNtcy1tb2R1bGU6bm90KC5sZWZ0LWFsaWduZWQpLmNvbHVtbi1pbnZlcnQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIC5jbXMtbW9kdWxlOm5vdCgubGVmdC1hbGlnbmVkKSAuY29udGVudC1iYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY21zLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGxhY2UtY29udGVudDogbm9ybWFsOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDsgfVxuICAgICAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZSB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jbXMtbW9kdWxlIC5tb2R1bGUtbmF2aWdhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY21zLW1vZHVsZSAuYmxvZy1idXR0b24sIC5jbXMtbW9kdWxlIC5uZXdzLWJ1dHRvbiwgLmNtcy1tb2R1bGUgLmV2ZW50cy1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkgLmNvbnRlbnQtYmFubmVyIHtcbiAgd2lkdGg6IDU5MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM3MHB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzNzVweDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgICAucm93LWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy10b3Age1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLWJvdGgge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQgLnJvdy1iYWNrZ3JvdW5kLWltYWdlW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSAubmV3cy1tb2R1bGUge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSksIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAubmV3cy1tb2R1bGUsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAubmV3cy1tb2R1bGUge1xuICAgICAgbWFyZ2luOiAyNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgICAgICBtYXJnaW46IDQwcHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IHVuc2V0OyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZCAucm93LWJhY2tncm91bmQtaW1hZ2Vbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kIC5tb2R1bGUtYmFja2dyb3VuZC1pbWFnZVtzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUuY2Fyb3VzZWwtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgMCA1MHB4OyB9XG5cbi5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCA+IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbCgyMik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkIHVsIGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCBsaSA+IGEge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uZWJnLWluZm9ybWF0aW9uLW1vZHVsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1mdWxsLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDsgfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5wYWdlLWhlYWRpbmctbW9kdWxlIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYWdlLWhlYWRpbmctbW9kdWxlIC5jbXMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tb2R1bGUtY29uZmlnIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5tb2R1bGUtY29uZmlnIGxpLCAubW9kdWxlLWNvbmZpZyBzdHJvbmcsIC5tb2R1bGUtY29uZmlnIGgzIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSwgLm1vZHVsZS1jb25maWcgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAubW9kdWxlLWNvbmZpZyBsaSBzdHJvbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAubW9kdWxlLWNvbmZpZyBsaSBzdHJvbmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLm1vZHVsZS1jb25maWcgaDMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tb2R1bGUtY29uZmlnIGgzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODsgfVxuXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSB7XG4gIC0tYm9yZGVyLXJhZGl1cy1zbWFsbDogMXB4O1xuICAtLWJvcmRlci1yYWRpdXMtbWVkaXVtOiA1cHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1sYXJnZTogMjUlO1xuICAtLWJvcmRlci1yYWRpdXMteGxhcmdlOiA1MCU7XG4gIC0tYm9yZGVyLXdpZHRoLXRoaW46IDFweDtcbiAgLS1ib3JkZXItd2lkdGgtbGlnaHQ6IDJweDtcbiAgLS1ib3JkZXItd2lkdGgtbWVkaXVtOiA1cHg7XG4gIC0tYm9yZGVyLXdpZHRoLWJvbGQ6IDEwcHg7XG4gIC0taW1hZ2UtcmVkdWNlLXNtYWxsOiAuOTU7XG4gIC0taW1hZ2UtcmVkdWNlLW1lZGl1bTogLjgwO1xuICAtLWltYWdlLXJlZHVjZS1sYXJnZTogLjYwOyB9XG4gIC5tb2R1bGUtY29udGVudC1jb250YWluZXIuZWZmZWN0LXN0eWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmVmZmVjdC1zdHlsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLWJvcmRlciAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1ib3JkZXIgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAjZmZmZmZmKTsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgI2ZmZmZmZik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC44czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2U6YmVmb3JlLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjhzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2Uge1xuICBvcGFjaXR5OiAxO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSkgLyAyKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2U6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSkgLyAyKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpIC8gMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKCh2YXIoLS1ib3JkZXItcmFkaXVzLCA1MCUpKSAvIDIpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW52ZXJ0LWNlbGwtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmludmVydC1jZWxsLXNoYWRvdyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbnZlcnQtY2VsbC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2Uge1xuICBvcGFjaXR5OiAxOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlOmhvdmVyIGltZywgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1yZWR1Y2UtaW1hZ2UsIDAuOTUpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5pbWFnZSBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuY2VsbC1ib3JkZXItZGVmYXVsdCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmNlbGwtYm9yZGVyLWRlZmF1bHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5ib3gtc2hhZG93LWRlZmF1bHQtaG92ZXItc3RhdGVzIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuXG4uY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIHtcbiAgcGFkZGluZzogMjBweCAwIDA7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS10b3AgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH0gfVxuICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggMTAwcHg7IH0gfVxuXG4uYW5pbWF0aW9uLW1vZHVsZSB7XG4gIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS13aWR0aCwgYXV0bykvdmFyKC0tbWVkaWEtaGVpZ2h0LCBhdXRvKTsgfVxuICAuYW5pbWF0aW9uLW1vZHVsZSBbZGF0YS1hbmltYXRpb25dIHtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbyk7IH1cblxuLypcclxuLS0tLS0gU3RvY2sgSW5kaWNpYXRvcihzKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEluc3RvY2ssIE91dCBvZiBzdG9jayAmIExvdyBzdG9jayBpY29ucy5cclxuLSBFbWFpbCB3aGVuIGJhY2sgaW4gc3RvY2tcclxuKi9cbi5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0MSBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIHA6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIC5zdG9ja0xldmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN0b2NrLWluZGljYXRvci5wcmVzZXQyIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBhOmhvdmVyLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgYTpob3ZlciwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yID4gcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiAubGFiZWwsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSA+IHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgLmxhYmVsLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgPiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIC5sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCA1cHggMCAwOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0yIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLmxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0yID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTIgLmxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG4gIGNvbG9yOiAjZGE3ZTdjO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMiBzcGFuIHtcbiAgY29sb3I6ICNkYTdlN2M7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMSA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjFwiO1xuICBjb2xvcjogI2ZmYjAwMTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgc3BhbiB7XG4gIGNvbG9yOiAjZmZiMDAxOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgLnN0b2NrTGV2ZWwge1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0wID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLmxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CNXCI7XG4gIGNvbG9yOiAjZmYwMTAxO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMCAuc3RvY2tMZXZlbCB7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uOmhvdmVyIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGNvbG9yOiAjZmY2ZjIwOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uLmFjdGl2ZSAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbiAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb250ZW50OiBcIu+Ds1wiO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgY29sb3I6ICNmZjAxMDE7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbjpub3QoLmFjdGl2ZSk6aG92ZXIgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCLvg7NcIjsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbi5hY3RpdmU6aG92ZXIge1xuICBjdXJzb3I6IG5vLWRyb3A7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24uYWN0aXZlIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uc3RvY2staW5kaWNhdG9yIFtkYXRhLXRvb2x0aXBdIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uc3RvY2staW5kaWNhdG9yIC5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNvbGxlY3Rpb24tb25seS1pbmRpY2F0b3Ige1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJhcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xuICAgICAgdG9wOiAxMHZ3ICFpbXBvcnRhbnQ7IH0gfVxuICAjc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIC5jbXNDb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNub3RpZmljYXRpb25Gb3JtQ29udGFpbmVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG5cbiNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XG4gIG1heC13aWR0aDogODV2dztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IDMwdnc7IH0gfVxuICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtICNub3RpZmljYXRpb25EZXRhaWxzRm9ybVN1Ym1pdDplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMywgNTEsIDQ4LCAwLjUpO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG5bZGF0YS1zdG9jay1pbmRpY2F0b3ItdXBkYXRlXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiBhdXRvO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoY2FsYygzMCUgLSA3LjVweCksIDFmcikgbWlubWF4KGNhbGMoNzAlIC0gNy41cHgpLCAxZnIpO1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmlnaHQsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcbiAgICAgICAgZ2FwOiAxMHB4IDA7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0IC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiAxMHB4IDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZTpub3QoOmhhcygqKSkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUgaHIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNoYXJlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zaGFyZS1idXR0b246YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktaGVhZGluZy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG5cbi5xdWFudGl0eS1tb2R1bGUsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5xdWFudGl0eS1tb2R1bGUgLmxhYmVsLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1tb2R1bGUgLmxhYmVsLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gIC5xdWFudGl0eS1tb2R1bGUgLnNlbGVjdCwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAuc2VsZWN0IHtcbiAgICB3aWR0aDogdW5zZXQ7IH1cbiAgICAucXVhbnRpdHktbW9kdWxlIC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiB1bnNldDsgfVxuXG4jbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDIwcHggNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNtYWluLXByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMCAwOyB9IH1cblxuI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7IH0gfVxuICAjcHJvZHVjdEltYWdlICNhZGRpdGlvbmFsLWltYWdlcywgI3Byb2R1Y3RJbWFnZSAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgI2FkZGl0aW9uYWwtaW1hZ2VzLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAjYWRkaXRpb25hbC1pbWFnZXMsICNwcm9kdWN0SW1hZ2UgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzc1cHg7IH0gfVxuICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLnNsaWRlLmFjdGl2ZSAudGh1bWJuYWlsLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuc2xpZGUuYWN0aXZlIC50aHVtYm5haWwge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q4YjdiNjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldixcbiAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsXG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSxcbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXY6YmVmb3JlLFxuICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2IHtcbiAgICAgICAgcmlnaHQ6IDMwcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXY6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0IHtcbiAgICAgICAgbGVmdDogMjFweDsgfVxuICAgICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTI3MGRlZyk7IH0gfVxuXG4jbWFpbkltYWdlQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNtYWluSW1hZ2VDb250YWluZXI6aG92ZXIgLm92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICNtYWluSW1hZ2VDb250YWluZXIgLm92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICNtYWluSW1hZ2VDb250YWluZXIuaW1hZ2UtMzYwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjbWFpbkltYWdlQ29udGFpbmVyLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI21haW5JbWFnZUNvbnRhaW5lci5pbWFnZS0zNjA6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvM2RpY29uLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEyLjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjE4LCAyMTgsIDIxOCwgMC4yKTsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyIGltZyB7XG4gICAgbWF4LWhlaWdodDogNTUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZTpob3ZlciwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSBpbWcsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgaW1nIHtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgbWluLWhlaWdodDogMzAwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlICsgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlczpoYXMoaW1nKSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXM6aGFzKGltZykge1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7IH1cblxuLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUge1xuICBtYXJnaW46IDAgMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYSB7XG4gICAgICAgIGZsZXg6IDAgMSBjYWxjKDMzJSAtIDE1cHgpO1xuICAgICAgICBtYXJnaW46IDEwcHggMTJweDsgfVxuICAgICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGE6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYTpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktaGlnaGxpZ2h0ZWQtYmFubmVycyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogNXB4IDAgMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktaGlnaGxpZ2h0ZWQtYmFubmVycyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktaGlnaGxpZ2h0ZWQtYmFubmVycyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBtYXJnaW46IDEwcHggMCAxNXB4OyB9IH1cblxuLnBhcnQtY29kZS1jb250YWluZXIgc3BhbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG4ucGFydC1jb2RlLWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnBhcnQtY29kZS1jb250YWluZXIgcCwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4sIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZ2FwOiAxMHB4IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGdhcDogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIHtcbiAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIC52YWx1ZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciBidXR0b24sIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAudG9vbHRpcC10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgYnV0dG9uLCAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnRvb2x0aXAtdHJpZ2dlciB7XG4gICAgICAgIGdhcDogNXB4IDEwcHg7IH0gfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1pbmZvLWxlZnQgaDEge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuI3Byb2R1Y3QgLnNsaWRlIC5sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3Byb2R1Y3QgLmFkZEJ1dHRvbkNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggMDtcbiAgb3JkZXI6IDQ7IH1cblxuI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIHAsICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIGxpIHtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIC5wcm9kdWN0LXJlYWQtbW9yZSB7XG4gICAgaGVpZ2h0OiAxNHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgLnRhYmJlZC1yZWFkLW1vcmUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyAudGFiYmVkLXJlYWQtbW9yZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgLmNhcm91c2VsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3JkZXI6IDQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cblxuLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMTVweCAwIDEwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIgKyAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24ge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtdG94aWMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWFjdXRlLXRveGljaXR5LWljb24uc3ZnXCIpOyB9XG4gICAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbi5oYXotY2F0LWdhcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtY29tcHJlc3NlZC1nYXMtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtY29ycm9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1jb3Jyb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZW52aXJvbm1lbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWVudmlyb25tZW50YWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZXhwbG9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1leHBsb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZmxhbW1hYmxlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1mbGFtbWFibGUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3pvbmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWhhcm1mdWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3hpZGlzaW5nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1veGlkaXNpbmctaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtaGVhbHRoIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1zZXJpb3VzLWhlYWx0aC1pY29uLnN2Z1wiKTsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBoNCB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIsIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyBoMiwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1oZWFkaW5nIGgzLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcgaDQge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCB1bCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoMSwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGgzLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoNCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDUsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGg1IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGg2LCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgZGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgcCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIucHJvZHVjdC1ub3RlcyB7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIucHJvZHVjdC1ub3RlcyAucmVhZC1tb3JlOm5vdCg6aGFzKC5yZWFkLW1vcmUtY29udGVudCkpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4OyB9XG5cbiNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICAjc3BsaXQtc3BlY2lmaWNhdGlvbiB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAjc3BsaXQtc3BlY2lmaWNhdGlvbiB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbiNzcGxpdC1zcGVjaWZpY2F0aW9uIGxpIHtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiBsaSwgI3NwbGl0LXNwZWNpZmljYXRpb24gcCwgI3NwbGl0LXNwZWNpZmljYXRpb24gYSwgI3NwbGl0LXNwZWNpZmljYXRpb24gc3BhbiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuLnNwbGl0LXNwZWNpZmljYXRpb24ge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnJycCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1wcmljZSB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1zaXplIHtcbiAgICBvcmRlcjogNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wYWNrLWl0ZW0tcHJpY2Uge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnNhdmluZyB7XG4gICAgb3JkZXI6IDM7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC5sYWJlbDplbXB0eSArIC52YWx1ZSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZSB7XG4gICAgb3JkZXI6IDU7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG4ub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLmNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLnByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSAuY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIC5wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgLmFkZC1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGguZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0ZC5jb2RlLWNvbCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW1hZ2UtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmltYWdlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMTBweDsgfSB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDVweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgbGkge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDEsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGgyLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoMywgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGgzIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDQsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGg1LCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoNiwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGg2IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIGRsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nLCAjcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWZhdm91cml0ZXMtY29udGFpbmVyIC5mYXZvdXJpdGVzOmFmdGVyIHtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbiNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDAgMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0U5MzMzMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHNwYW4sIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24gc3BhbiB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgbWFyZ2luOiAxNXB4IDAgMDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgdGgsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDEwcHg7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIHRib2R5IHRkLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIHRib2R5IHRkLnNhdmluZ3MtY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZC5zYXZpbmdzLWNvbCB7XG4gICAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSAucXVhbnRpdHktY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSAucXVhbnRpdHktY29sIHtcbiAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIC5wcmljZS1wZXItaXRlbS1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIC5wcmljZS1wZXItaXRlbS1jb2wge1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgLnNhdmluZ3MtY29sLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB0YWJsZSAuc2F2aW5ncy1jb2wge1xuICAgICAgd2lkdGg6IDMwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggMCAyMHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMCAyMHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XG4gIC0tcHJpY2UtbWF4LXdpZHRoOiAxZnI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcbiAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XG4gICAgICAtLXByaWNlLW1heC13aWR0aDogNDUlOyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcbiAgLS1wcmljZS1tYXgtd2lkdGg6IDFmcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UgLnZhbHVlIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIHZhcigtLXByaWNlLW1heC13aWR0aCkpKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxOTBweCwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gMTBweCkpKTtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE5MHB4LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAxMHB4KSkpO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpub3QoOmhhcygqKSksIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6bm90KDpoYXMoKikpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IGNhbGMoMjBweCAvIDIgKiAtMSk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXI6aGFzKCsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogY2FsYygyMHB4IC8gMiAqIC0xKTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogdW5zZXQ7IH0gfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAsIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuc2F2aW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuc2F2aW5nIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCArIC5zYXZpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAgKyAuc2F2aW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmFsdWUsIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhbHVlLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLnZhbHVlLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhbHVlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmF0LCAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLmdyb3VwLXByaWNlIC52YXQsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmF0LCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhdCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuXG4jcHJvZHVjdC1jYXNlLXByaWNpbmcgLmNhc2UtcHJpY2UgcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIC5wcmljZSB7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLmRlbGl2ZXJ5LWNvdW50ZG93bi1jb250YWluZXIgW2RhdGEtY291bnRkb3duLXRpbWVdIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZXMgLmNvbGxlY3Rpb24taXRlbS5hY3RpdmUgLnRodW1ibmFpbCBhLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC5jb2xsZWN0aW9uLWl0ZW0uYWN0aXZlIC50aHVtYm5haWwgYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMjA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuOHM7IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYSwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmhvdmVyLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYTpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmFjdGl2ZSwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxMTEsIDMyLCAwLjUpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MCwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvM2RpY29uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTIuNXB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLnZpZGVvLXRodW1ibmFpbCBpbWcsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLnZpZGVvLXRodW1ibmFpbCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBhdXRvOyB9IH1cblxuLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfSB9XG4gIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gYSwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBzcGFuLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaSA+IHAsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIGEsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIHNwYW4ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjM0MzhyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14LCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4zMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14LCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4xNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4xNTYyNXJlbTsgfSB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0xID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMSA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMiA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMyA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNCA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTEgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0yID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0zID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC00ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC01ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTEgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTIgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0yID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTMgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0zID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTQgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC00ID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTUgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC01ID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG4uc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE1cHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuY29udHJvbCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1vcHRpb24udW5hdmFpbGFibGUtb3B0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIGNvbG9yOiAjN2I3YjdiO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb246YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAubGFiZWwsIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA0MCU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5sYWJlbCwgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAyNyU7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1kaXNwbGF5IC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1kaXNwbGF5IC52YWx1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuI3Byb2R1Y3QtaW5mby1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Byb2R1Y3QtaW5mby1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMTsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTEgLnBhcnQtY29kZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAjcHJvZHVjdEltYWdlLCAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTEgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMzsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgI3Byb2R1Y3Qtc3BlY2lmaWNhdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0yIC5wYXJ0LWNvZGUtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMzsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgI3Byb2R1Y3RJbWFnZSwgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0yIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjBweCAwIDM1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWVucXVpcnktdGFicy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4OyB9IH1cblxuLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4IDEwcHg7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05KTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIGgzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIGgzIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciBwIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjYTIzNGUzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbms6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBnYXA6IDEwcHggNDBweDsgfSB9XG5cbnRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHRib2R5IHRyW2NvbHNwYW49XCIyXCJdIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5jdXN0b20tc3RvY2stdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbiNiYXNrZXQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtZm9ybSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYmFza2V0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cblxuI2Jhc2tldC10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSB0ZDpub3QoLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wpLCAjYmFza2V0LXRhYmxlIHRoOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmFkZC10by1iYXNrZXQtY29sIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEzMnB4OyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgIG1pbi13aWR0aDogNDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHggMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29sb3I6IHJnYmEoMTQ5LCAxNDksIDE0OSwgMC42KTtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI2Jhc2tldC10YWJsZSAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNiYXNrZXQtdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZNcIjtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsICNiYXNrZXQtdGFibGUgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1wcmljZS1jb2wge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYWRkLXRvLWJhc2tldC1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHtcbiAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHNwYW4ge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgb3JkZXI6IDI7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHNwYW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG9yZGVyOiA0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgd2lkdGg6IDUlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9yZGVyOiA2OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXRVcGRhdGVSb3cge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTU5NTk1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpIG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cgdGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmNvbC1sYWJlbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sIC5jb2wtbGFiZWwsICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sIC5jb2wtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDMwcHg7XG4gICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRkOm5vdCguaW1hZ2UtY29sKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG5cbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmltYWdlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogc3BhbiA0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5pbWFnZS1jb2wge1xuICAgICAgd2lkdGg6IDEyLjIlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7IH1cbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9IH1cbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMzAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuY29kZS1jb2wge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmNvZGUtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5wcmljZS1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcbiAgZ3JpZC1yb3c6IDM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLnByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogMjAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAucXVhbnRpdHktY29sIHtcbiAgZ3JpZC1yb3c6IDQ7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gICAgICB3aWR0aDogMTguOSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5hZGRUb0Jhc2tldC5pY29uLCB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5iYXNrZXQtYWRkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xuICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQgLmNvbC1sYWJlbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCAuY29sLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcbiAgICBnYXA6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3IsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMzsgfSB9XG5cbnRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHNwYW4sIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLnZhdC1yYXRlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIHdpZHRoOiAxMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIC5yZW1vdmUtYnV0dG9uLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuI2Jhc2tldC1zdGlja3ktc3VtbWFyeS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgI2Jhc2tldCAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbiNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiA0NXB4OyB9IH1cbiAgI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IGgyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DkVwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogI2VjOTA4ZTsgfVxuICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4OyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyOmhhcyguc2VwZXJhdG9yOm5vdCg6ZW1wdHkpKSB7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLmludmFsaWQgYSB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCA1cHgpO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246aG92ZXIsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5MDhlO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlYzkwOGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZCwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyICsgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLCAuc3VtbWFyeS1pdGVtICsgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lci52b3VjaGVyIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CsXCI7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIudmF0IGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qVXCI7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IDAgMjVweDtcbiAgcGFkZGluZzogMDsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIGxhYmVsOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbG9yOiAjZWM5MDhlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBuby13cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lci5pcy1pbnZhbGlkLWNvbnRhaW5lciArIC5mb3JtLWVycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQge1xuICAgIGhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0OmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dDpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4ycHg7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5MDhlOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmFjdGl2ZSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzkwOGU7XG4gICAgICBib3JkZXItY29sb3I6ICNlYzkwOGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpkaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmRpc2FibGVkLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHlbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpkaXNhYmxlZDpob3ZlciwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MwMDAwMDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6YWN0aXZlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzkwOGU7XG4gICAgICBib3JkZXItY29sb3I6ICNlYzkwOGU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmVbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQ6aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQge1xuICAgICAgICBnYXA6IDAgMTVweDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0xIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTIge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTMge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnByZXNldC0zIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoMSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoMywgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoNCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBoNiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGEge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoMSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoMiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoMywgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoNCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoNSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBoNiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyBwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGEge1xuICAgICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDEsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGgyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoMywgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGg1LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoNiwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgcCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgYSB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuZGlzYWJsZWQgcCB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbiBwIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5uby13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciArIC53YXJuaW5nLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLndhcm5pbmctY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC53YXJuaW5nLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2Jhc2tldC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IDAgMzVweDtcbiAgZ2FwOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYmFza2V0LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XG4gICAgICBnYXA6IDE1cHggMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBnYXA6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlcjphZnRlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlcjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6YWN0aXZlLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6ZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXRbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkOmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+AoVwiO1xuICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAzMHB4KTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6aG92ZXI6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5ob3ZlcjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6YWN0aXZlLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpkaXNhYmxlZCwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldFtkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvi61cIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZ2FwOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZ2FwOiAxNXB4OyB9IH1cbiAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuY29udHJvbC5zZWFyY2gge1xuICAgICAgICAgIG1heC13aWR0aDogNDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMzA1cHg7IH0gfVxuICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5iYXNrZXQtdG90YWwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwYjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFza2V0LXRvdGFsLWNvbnRhaW5lciAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uYmFza2V0LXRvdGFsLXN0aWNreS1jb250YWluZXIge1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbiNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeSwgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogdW5zZXQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDMxMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeS5pcy1zdHVjaywgLnN1bW1hcnktY29udGFpbmVyLmlzLXN0dWNrIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDsgfSB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpLCAuc3VtbWFyeS1jb250YWluZXIuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZCwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZC5pcy1hdC10b3AsIC5zdW1tYXJ5LWNvbnRhaW5lci5pcy1hbmNob3JlZC5pcy1hdC10b3Age1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAjYmFza2V0LXN1bW1hcnkuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjhzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdm91Y2hlci1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdm91Y2hlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZ29vZHMtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogMzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA0OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlIHtcbiAgICBvcmRlcjogNjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmJlZm9yZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN0b3RhbC12YWx1ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN0b3RhbC12YWx1ZTphZnRlciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN0b3RhbC12YWx1ZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNuZXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNuZXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDc7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2YXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2YXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDg7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2YXQtaW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZhdC1pbnB1dC1jb250YWluZXIge1xuICAgIG9yZGVyOiA5OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdm91Y2hlci1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdm91Y2hlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZ29vZHMtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogMzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA0OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3RvdGFsLXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3RvdGFsLXZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiA4OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN0b3RhbC12YWx1ZTpiZWZvcmUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdG90YWwtdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9yZGVyOiA2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWU6YmVmb3JlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI25ldC1zdW1tYXJ5LXZhbHVlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2YXQtc3VtbWFyeS12YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2YXQtc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdmF0LWlucHV0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2YXQtaW5wdXQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogOTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNlZGl0LWJhc2tldC1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDExOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAjYmFza2V0LXN1bW1hcnkgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1jb250YWluZXIgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaW50cm8tY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWludHJvLWNvbnRhaW5lciBwLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0uaGlnaGxpZ2h0ZWQsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtLmhpZ2hsaWdodGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLnZhbHVlLCAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLnZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4ubGFiZWwsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4ubGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSB7XG4gICAgICAgIG1heC13aWR0aDogNDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIC5pbmNWYXQsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIC5pbmNWYXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAjdG90YWwtdmFsdWUgLmxhYmVsLCAjYmFza2V0LXN1bW1hcnkgI3RvdGFsLXZhbHVlIC52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyICN0b3RhbC12YWx1ZSAubGFiZWwsIC5zdW1tYXJ5LWNvbnRhaW5lciAjdG90YWwtdmFsdWUgLnZhbHVlIHtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDMwcHggN3B4IDAgMDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphZnRlciwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjpob3ZlciwgLnN1bW1hcnktY29udGFpbmVyICNlZGl0LWJhc2tldC1jb250YWluZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphY3RpdmUsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNkZWxpdmVyeS1zZWxlY3RvciB7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbiNkZWxpdmVyeS1zZWxlY3RvciBzZWxlY3QsICNkZWxpdmVyeS1zZWxlY3RvciBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktbGFiZWwge1xuICBtYXJnaW46IDEwcHggMDtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LXNlcnZpY2UsICNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktYXJlYSB7XG4gICAgd2lkdGg6IDQwNXB4O1xuICAgIG1hcmdpbjogMCAwIDAgYXV0bzsgfSB9XG5cbiNkZWxpdmVyeS1zZWxlY3RvciAuZGVsaXZlcnktc2VydmljZS5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4ubGluay1mYWlsZWQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5saW5rLWZhaWxlZC1jb250YWluZXIgLmxpbmstZmFpbGVkLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgY29sb3I6ICNmZjAxMDE7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5saW5rLWZhaWxlZC1jb250YWluZXIgLnByaW1hcnktYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYNcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jdXN0b21lci1hc3NldHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qClXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIBcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5tYW5hZ2UtY2FsbHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCeXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY2hhbmdlLWRldGFpbHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIVcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jb250cmFjdC1pdGVtczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIZcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTc6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYBcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hhVwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi05OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGBXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm9ubGluZS1kb2N1bWVudGF0aW9uOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTA6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hhFwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZhdm91cml0ZXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AhFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmxvZ291dDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTEzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCKXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0udmlldy1vcmRlcnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gjlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNoYW5nZS1wYXNzd29yZDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCCXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubWFuYWdlLWNhcmRzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTc6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIxcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5wYXltZW50LXJlcXVlc3RzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTg6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoKZcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5kb3dubG9hZC1wcmljZS1saXN0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qG6XCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ucmVjZW50bHktcHVyY2hhc2VkOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjE6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoI9cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zaXRlLWxpc3Q6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gv1wiO1xuICBjb2xvcjogIzVmN2IyNzsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5zdGF0ZW1lbnQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gh1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIlcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS51cGxvYWQtYmFza2V0OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjY6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLZcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS51cGxvYWQtb3JkZXJzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjc6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLVcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5tYW5hZ2UtdXNlcnM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yODpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gjVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmVtcGxveWVlLXN0YXR1czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGLXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzA6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYJcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhbpcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiO1xuICBjb2xvcjogIzMzNjY5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hklwiO1xuICBjb2xvcjogIzMzNjY5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gpVwiO1xuICBjb2xvcjogIzMzNjY5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Bi1wiO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGBXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSB7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIC5wYWdlLWljb24ge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSAucGFnZS1pY29uLmNoYW5nZS1wYXNzd29yZCwgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEgLnBhZ2UtaWNvbi5mdW5jdGlvbi0xNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNS4zMzMzM3B4OyB9XG4gIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xuICBtYXJnaW46IDM1cHggMCAyMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5jZWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZS5zaXRlLXN0eWxlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDMwcHg7XG4gICAgcGFkZGluZzogMTlweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmM2YzZjM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYTpob3ZlciBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGE6aG92ZXIgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgZmxleDogMTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMTYge1xuICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5jaGFuZ2UtZGV0YWlscywgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTQge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ubWFuYWdlLWNhcmRzLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMTcge1xuICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tOSB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0zNSB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5sb2dvdXQsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi0yOSB7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG5cbi5hY2NvdW50LW1lbnUgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi5hY2NvdW50LW1lbnUgaDIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1tZW51IGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5hY2NvdW50LXBhZ2Uge1xuICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuICAjYWNjb3VudC1wYWdlLWdyaWQgLmFjY291bnQtcGFnZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzBweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jaGFuZ2UtZGV0YWlsczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5jb250cmFjdC1pdGVtczpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZmF2b3VyaXRlczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24udmlldy1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUge1xuICBmb250LXNpemU6IDY1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhcmRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zdGF0ZW1lbnQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS11c2VyczpiZWZvcmUge1xuICBmb250LXNpemU6IDU1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uYWNjb3VudC1zd2l0Y2hlcjpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1iYXNrZXQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnVwbG9hZC1vcmRlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmxvZ291dDpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ubWFuYWdlLWNhbGxzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zZXJ2aWNlLWNvbnRyYWN0czpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY3VzdG9tZXItYXNzZXRzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5wYXltZW50LXJlcXVlc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmRvd25sb2FkLXByaWNlLWxpc3RzIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnNpdGUtbGlzdCB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm9ubGluZS1kb2N1bWVudGF0aW9uIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbi5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgc2VsZWN0LCAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLmJyYW5jaC1maWx0ZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uLnBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMgLnNvcnQtb3B0aW9uIC5sYWJlbCwgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiAucGFnaW5hdGlvbkxhYmVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyMzVweDsgfSB9XG4gIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyLmNlbnRlci1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5vcmRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgKyAucmVzcG9uc2l2ZS10YWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciArIC5yZXNwb25zaXZlLXRhYnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyLnBheW1lbnQtY29uZmlybWF0aW9uIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAub3JkZXItZGV0YWlscywgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiAub3JkZXItZGV0YWlscy1jb250YWluZXIgLm9yZGVyLWRlbGl2ZXJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUge1xuICAgICAgd2lkdGg6IDk3MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItY29udGFpbmVyLnByZXNldC0xICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHdpZHRoOiA1MTVweDsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQ6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSwgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGg6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYWRkLXRvLWJhc2tldC1jb2wgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwOyB9IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGEge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEzMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxNTVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgbWluLXdpZHRoOiA0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweCAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuNik7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nLmFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC52YXQtcmF0ZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYWRkLXRvLWJhc2tldC1jb2wge1xuICAgICAgICB3aWR0aDogMTUlOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHtcbiAgICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgICB3aWR0aDogNSU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBvcmRlcjogNjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnJlbW92ZS1idXR0b24ge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldFVwZGF0ZVJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KSBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KTtcbiAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgLm9yZGVyLWNvbnRhaW5lciAjYmFza2V0LXN1bW1hcnkge1xuICAgIG1hcmdpbjogMDsgfVxuICAub3JkZXItY29udGFpbmVyICNiYXNrZXQtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA1cHggMDtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggNDBweDsgfSB9XG4gIC5vcmRlci1kZXRhaWxzLmlubGluZSwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweCAyMHB4OyB9XG4gICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5vcmRlci1kZXRhaWwtaGVhZGluZywgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3MsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3MsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZ2FwOiA1cHg7IH1cbiAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW4sIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLCc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5vcmRlci1kZXRhaWxzLnBheWVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeS5wYXllci1kZXRhaWxzLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5wYXllci1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnktaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5vcmRlci1kZXRhaWwtaGVhZGluZyBoMywgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcgaDMsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5vcmRlci1kZXRhaWwtaGVhZGluZyBhLmVkaXQsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nIGEuZWRpdCwgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIGEuZWRpdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmRldGFpbC1pdGVtLWNvbnRhaW5lciwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lcjpoYXMoPiBwOmVtcHR5KSwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyOmhhcyg+IHA6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHNwYW4sIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHNwYW4ge1xuICAgICAgICB3aWR0aDogMTcwcHg7IH0gfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gcCwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBwLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBwIHtcbiAgICAgICAgZmxleDogMTsgfSB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXIgYSwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIGFkZHJlc3MsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciBhZGRyZXNzIHtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCAuY3VycmVudC1wcmljZS1zYXZpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wgLmN1cnJlbnQtcHJpY2Utc2F2aW5nIHtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIC5jdXJyZW50LXByaWNlLXNhdmluZzphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFxmMGRkJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG5cbi5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9IH1cbiAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIC5ncmlkLXgge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIgLmdyaWQteCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTsgfSB9XG5cbi5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG5cbi5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIC5jb250YWluZXItcmVmZXJlbmNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAuY29udGFpbmVyLXJlZmVyZW5jZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0gfVxuXG4udXNlcnMtZm91bmQtY291bnQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNlcnMtZm91bmQtY291bnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG4gIC51c2Vycy1mb3VuZC1jb3VudCBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC51c2Vycy1mb3VuZC1jb3VudCBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4jdXNlcnMtdGFibGUgdGQge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICN1c2Vycy10YWJsZSB0ZCAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdXNlcnMtdGFibGUgdGQgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiN1c2Vycy10YWJsZSB0ZC51c2Vycy1jb250YWN0LWNvbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbiN1c2Vycy10YWJsZSAudXNlcnMtYWNjb3VudC1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdXNlcnMtdGFibGUgLnVzZXJzLWFjY291bnQtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtY29udGFjdC1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZW1haWwtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZGVsZXRlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVtb3ZlLXVzZXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBmb250LXNpemU6IDEuMTM2MzZyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG5cbi5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuI3NlbGVjdC1icmFuY2hlcy10YWJsZSB7XG4gIG1heC13aWR0aDogODUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmJyYW5jaC1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5icmFuY2gtY29sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9IH1cbiAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSB0ZC5icmFuY2gtY29sIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5hbGxvdy1sb2dpbi1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC10eXBlLWNvbCB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLW51bWJlci1jb2wge1xuICAgIHdpZHRoOiAxODBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDI0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtcmVtb3ZlLWNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbiN0b2tlbnMtdGFibGUsIC50b2tlbnMtdGFibGUge1xuICBtYXJnaW46IDA7IH1cbiAgI3Rva2Vucy10YWJsZSB0cjpob3ZlciAuY2FyZC10eXBlOmJlZm9yZSwgLnRva2Vucy10YWJsZSB0cjpob3ZlciAuY2FyZC10eXBlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC10eXBlLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtbnVtYmVyLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuY2FyZC10eXBlLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtbnVtYmVyLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZCAuZXhwaXJlLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkOmhvdmVyIC5jYXJkLXR5cGUtY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC1udW1iZXItY29sLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuZXhwaXJlLWRhdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICN0b2tlbnMtdGFibGUgdGQsIC50b2tlbnMtdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgI3Rva2Vucy10YWJsZSAuY2FyZC1zZWxlY3QtY29sIC5yYWRpbywgLnRva2Vucy10YWJsZSAuY2FyZC1zZWxlY3QtY29sIC5yYWRpbyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICN0b2tlbnMtdGFibGUgLmNhcmQtdHlwZS1jb2wsIC50b2tlbnMtdGFibGUgLmNhcmQtdHlwZS1jb2wge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgI3Rva2Vucy10YWJsZSAuY2FyZC1leHBpcmUtZGF0ZS1jb2wsIC50b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Rva2Vucy10YWJsZSAuY2FyZC1leHBpcmUtZGF0ZS1jb2wsIC50b2tlbnMtdGFibGUgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAjdG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICN0b2tlbnMtdGFibGUgLmNhcmQtcmVtb3ZlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC1yZW1vdmUtY29sIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4OyB9IH1cbiAgI3Rva2Vucy10YWJsZSAuc2VsZWN0ZWQtY2FyZCwgLnRva2Vucy10YWJsZSAuc2VsZWN0ZWQtY2FyZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm5vLXRva2Vucy1mb3VuZCB7XG4gIG1hcmdpbjogNTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uby10b2tlbnMtZm91bmQge1xuICAgICAgbWFyZ2luOiAxMDBweCAwOyB9IH1cbiAgLm5vLXRva2Vucy1mb3VuZCAubm8tdG9rZW5zLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CnVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgZm9udC1zaXplOiA0LjA2MjVyZW07XG4gICAgY29sb3I6ICNkYWRhZGE7IH1cblxuLnBheW1lbnQtZGV0YWlscy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLm1vZGFsLWNvbnRhaW5lclt0eXBlPXNlbGVjdC1wYXltZW50XSAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5zYXZlLWNhcmQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNhdmUtY2FyZC1jb250YWluZXIgLmNvbnRyb2wuY2hlY2tib3gge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5zYXZlLWNhcmQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuI3BheW1lbnQtZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zdGF0ZW1lbnQtbGlzdC1jb250YWluZXIuaW4tYWN0aXZlLCAuc3RhdGVtZW50LXBheS1jb250YWluZXIuaW4tYWN0aXZlLCAuYWNjb3VudC1wYXktY29udGFpbmVyLmluLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG5cbi5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAyJSAyMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIgcCBzcGFuIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxuXG4uc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cblxuLnN1bW1hcnktY29udGFpbmVyLnN0YXRlbWVudCAuc3VtbWFyeS1oZWFkaW5nLCAuc3VtbWFyeS1jb250YWluZXIuYWNjb3VudC1wYXltZW50LXN1bW1hcnkgLnN1bW1hcnktaGVhZGluZyB7XG4gIG1hcmdpbjogMCAwIDQwcHg7IH1cblxuLnRyYW5zYWN0aW9uLXR5cGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmFuc2FjdGlvbi10eXBlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuXG4uZGlyZWN0LWRlYml0LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5kaXJlY3QtZGViaXQtaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoY5cIjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbnRhYmxlLnNlcnZpY2UtY29udHJhY3RzIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmJyYW5jaC1jb2wge1xuICAgICAgd2lkdGg6IDYuMiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLm5leHQtZHVlLWRhdGUtY29sIHtcbiAgICAgIHdpZHRoOiA4JTtcbiAgICAgIHBhZGRpbmc6IDAgMTJweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogOSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnlvdXItcmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogMTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5za3UtcmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogMTIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC12YWx1ZS1jb2wge1xuICAgICAgd2lkdGg6IDglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5jb250cmFjdC10eXBlLWNvbCB7XG4gICAgICB3aWR0aDogMTIlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIHRkLmNvbnRyYWN0LXR5cGUtY29sIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmNvbnRyYWN0LWdyb3VwLWNvbCB7XG4gICAgICB3aWR0aDogOS44JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuZnJlcXVlbmN5LWNvbCB7XG4gICAgICB3aWR0aDogOC41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAucGF5bWVudC1tZXRob2QtY29sIHtcbiAgICAgIHdpZHRoOiA5JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAudGVybWluYXRpb24tZGF0ZS1jb2wge1xuICAgICAgd2lkdGg6IDglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5iYWxhbmNlLWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnJlbmV3YWwtY29sIHtcbiAgICAgIHdpZHRoOiA1LjUlOyB9IH1cbiAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnR1YnMtcmVuZXctYnV0dG9uIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnR1YnMtcmVuZXctYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzVweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLml0ZW0tY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLml0ZW0tY29sIHtcbiAgICB3aWR0aDogNSU7IH0gfVxuXG50YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLnJlZmVyZW5jZS1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLnJlZmVyZW5jZS1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gICAgICB3aWR0aDogMTQlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAyMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSB0aC5kZXNjcmlwdGlvbi1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSB0aC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5pbnZvaWNlcy1jb2wsIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuZGVsaXZlcmllcy1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuaW52b2ljZXMtY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLmRlbGl2ZXJpZXMtY29sIHtcbiAgICB3aWR0aDogMTIlOyB9IH1cblxudGFibGUub3JkZXItc3RhdHVzLXRhYmxlIHVsLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAuaXRlbS1jb2wge1xuICAgIHdpZHRoOiA2Ljk1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDEzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAucXVhbnRpdHktY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAyNyU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAub3VyLXJlZmVyZW5jZS1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLnlvdXItcmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuY29udHJhY3RzLXRhYmxlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5jb250cmFjdHMtdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDMzJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbnRhYmxlLmNvbnRyYWN0cy10YWJsZSB0ZC5kZXNjcmlwdGlvbi1jb2wge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAudHlwZS1jb2wsIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCwgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC52YWx1ZS1jb2wsIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAuc3RhdHVzLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLmRhdGUtY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5hY2NvdW50LXJldHVybi1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmhvdmVyLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmFjdGl2ZSwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246ZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b24uZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5wYXktY29sIHtcbiAgICB3aWR0aDogNi4yJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAuZGF0ZS1jb2wge1xuICAgIHdpZHRoOiAyMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLnRpbWUtY29sIHtcbiAgICB3aWR0aDogOC41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAucmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDE4LjElOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5hbW91bnQtY29sIHtcbiAgICB3aWR0aDogMTAuOCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLmNvbnRhY3QtY29sIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuLnNpdGUtbGlzdC1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoKFcIjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTsgfVxuICAgICAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2UgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG4gIGNvbG9yOiAjMTI4MTFmOyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuZmFpbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GqXCI7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMudW5rbm93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BmVwiO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLmNhbmNlbGxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+KjVwiO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLmluLXByb2dyZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74SQXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgYW5pbWF0aW9uOiBzcGlubmVyIDEuNXMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmRhdGEtdGltZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnB1Ymxpc2gtaGlzdG9yeSAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0Ym9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0Ym9keSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkLnNpdGUtbG9nby1jb2wge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCAuY29sLWxhYmVsIHtcbiAgd2lkdGg6IDQwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRkIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRoLnNpdGUtbG9nby1jb2wge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB0ci5zdGFnaW5nLXNpdGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIHtcbiAgICB3aWR0aDogMTEycHg7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyB7XG4gIGhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28ge1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgbWFyZ2luOiAycHg7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIC5zaXRlLWxvZ28gLmltYWdlLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyBhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgaHIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMTBweCAwIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIGhyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZGVzY3JpcHRpb24gYSB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgLnNpdGUtZGVzY3JpcHRpb24gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGguc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRkLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24sIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1lbnZpcm9ubWVudCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAubGljZW5zZS1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAucHVibGlzaGluZy1jb2wge1xuICAgIHdpZHRoOiAxMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zdGFydGVkLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5lbmRlZC1jb2wsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAubGFzdC10b3VjaC1jb2wge1xuICAgIHdpZHRoOiAxNDVweDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1idXR0b25zLWNvbCAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIGJ1dHRvbiwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIGEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5kYXRhLXRpbWUtY29udGFpbmVyIC50aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NHB4OyB9XG5cbi5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lci5zdGFnaW5nLXNpdGUgLnNpdGUtbG9nbyB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2Uge1xuICAgICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyAuaW1hZ2UsIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtbG9nbyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgaHIge1xuICAgIG1hcmdpbjogMTBweCAwIDE1cHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiA+IHNwYW4ge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiArIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDIwcHg7XG4gICAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvbiwgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA3NHB4OyB9XG5cbi8qXHJcbi0tLS0tIENNUyBTdHlsaW5nIC0tLS0tLSBcclxuLSBTdHlsZSBmb3IgdGhlIGFjdHVhbCBjbXMgcGFnZXMgdGhlbXNlbHZlczpcclxuICAtIENNUyBFbnRyeVxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBDTVMgU2VyaWVzXHJcbi0gQ01TIGVudHJ5IGNvbnRyb2xzXHJcbi0gQ01TIG1vZHVsZVxyXG4tIENNUyBjb250ZW50IGNvbnRhaW5lciwgdGhpcyBnZXQgdXNlZCB0aHJvdWdob3V0IGV4cHJlc3MgZm9yIHZhcmlvdXMgcGllY2VzIG9mIGNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGluIHRoZSB2bWFkbWluJ3MgY21zIHN5c3RlbSB0aGVzZSBibG9jayBvZiBjb250ZW50IGNhbiBsaXRlcmFsbHkgYmUgYW55d2hlcmUgKCBoZWFkaW5ncyBmb3IgcGFnZXMsIGluIHRoZSBmb290ZXIsIGFqYXggcmVzcG9uc2VzICkuXHJcbiovXG4uZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQge1xuICBtYXgtd2lkdGg6IDg1MHB4O1xuICBtYXJnaW46IDE1cHggYXV0byAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy1pbnRyby5jbXMtY29udGVudC1jb250YWluZXIgcCwgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0LmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjN2I3YjdiOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8gcCwgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM3YjdiN2I7IH1cblxuLmRpc3BsYXktY21zLXNlcmllcyB7XG4gIG1hcmdpbjogMjVweCAwIDA7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyBhOmhvdmVyIGgzLCAuZGlzcGxheS1jbXMtc2VyaWVzIGE6aG92ZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICNmZjZmMjApO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAuZW50cnktY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzIC5lbnRyeS1jb250ZW50IHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLm5ld3MgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLm5ld3MgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmJsb2cgLmNlbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmJsb2cgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmV2ZW50cyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZXZlbnRzIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy52aWRlby1wbGF5bGlzdCAuY2VsbCA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmNlbGwge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcyAuY2VsbDpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY2VsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNlbGwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDExMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgaGVpZ2h0OiAyNjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogNDBweCAwIDA7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50IHtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICBoZWlnaHQ6IDIwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICAgIGhlaWdodDogMzAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgIGhlaWdodDogMzAlOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jZWxsIGEge1xuICAgIG1heC1oZWlnaHQ6IDUyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY2VsbCBhIHtcbiAgICAgICAgcGFkZGluZzogNDVweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC52aWRlby1wbGF5bGlzdCAuY29udGVudC1iYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5kdXJhdGlvbi1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jb250ZW50LWNvbnRhaW5lciAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwge1xuICAgIGhlaWdodDogNTMwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZzogNTBweDsgfSB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDE3MHB4OyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCB7XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggNDVweDsgfSB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgICAgIGhlaWdodDogNzVweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZCAuY2VsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZCAuY29udGVudC1iYW5uZXIgLmltYWdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5wdWJsaXNoLWRhdGUge1xuICAgIG1hcmdpbjogMCAwIDE3cHg7IH1cblxuLnB1Ymxpc2gtZGF0ZSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5yZWFkLW1vcmUtYW5jaG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUtYW5jaG9yIHtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7IH0gfVxuICAucmVhZC1tb3JlLWFuY2hvcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDI1cHggMzBweCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDExMHB4IDcwcHg7IH0gfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5uZXdzLWFydGljbGUgLmNtcy1oZWFkaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvh6pcIjsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lci5ldmVudCAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bs1wiOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLmJsb2ctcG9zdCAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+ChlwiOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIuaW5mb3JtYXRpb24uc3R5bGUtMSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNtcy1oZWFkaW5nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDIuODc1cmVtO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgb3BhY2l0eTogMC4zOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNtcy1oZWFkaW5nIGgxIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxIDFweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMSB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgxOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDM6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDYge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDEsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoMiwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDQsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoNSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICAgIGdhcDogMTBweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5ID4gaW1nIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgYSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2VtYmVkXCJdIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICB0aCwgdGQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIGZpZWxkc2V0IGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmJhY2tncm91bmQtc2VjdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCksIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA3OCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5wdWJsaXNoLWRhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLnRhZ2dpbmctY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLnRhZ2dpbmctY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl0sIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAgNXB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSksIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uY21zLWVudHJ5LW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDQwcHggMCAzMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuY21zLWVudHJ5LW5hdmlnYXRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY21zLWVudHJ5LW5hdmlnYXRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMsIC5lbnRyaWVzLWljb24tY29udHJvbHMge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5sYWJlbCwgLmVudHJpZXMtaWNvbi1jb250cm9scyAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogI2RhN2U3YztcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpmaXJzdC1vZi10eXBlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246aG92ZXIsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3gtc2hhZG93OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmFjdGl2ZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b246YmVmb3JlLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAucHJldmlvdXMtY21zLWVudHJ5OmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAucHJldmlvdXMtY21zLWVudHJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIBcIjsgfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLm5leHQtY21zLWVudHJ5OmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAubmV4dC1jbXMtZW50cnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6ggVwiOyB9XG5cbi5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweCAwO1xuICBtYXJnaW46IDE1cHggMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAxMHB4IDMwcHg7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cbiAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMTVweCAxNXB4KTtcbiAgICBjb2xvcjogI2RhN2U3YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXIge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6aG92ZXI6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTphY3RpdmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTphY3RpdmU6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6ZGlzYWJsZWQ6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQ6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnlbZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkOmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIBcIjtcbiAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjZGE3ZTdjO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxNXB4IDE1cHgpO1xuICAgIGNvbG9yOiAjZGE3ZTdjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmhvdmVyOmFmdGVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5ob3ZlcjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6YWN0aXZlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFjdGl2ZTphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpkaXNhYmxlZCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmRpc2FibGVkOmFmdGVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5kaXNhYmxlZDphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnlbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpkaXNhYmxlZDpob3ZlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjZGE3ZTdjO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjpob3ZlciwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jbXMtZW50cnktYmFjay1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjphY3RpdmUsIC5jbXMtZW50cnktYmFjay1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmRpc2FibGVkLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jbXMtZW50cnktYmFjay1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5zaXRlLW1hcCB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cbiAgLnNpdGUtbWFwID4gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNpdGUtbWFwID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGkge1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaTpvbmx5LWNoaWxkIHtcbiAgICAgIGJvcmRlci13aWR0aDogMDsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmhvdmVyIGE6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuc2l0ZS1tYXAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBhLCAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gYTpiZWZvcmUsIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gc3BhbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAzNXB4IDAgMjVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gdWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAuc2l0ZS1tYXAgdWwgLnBhcmVudCAuY2hpbGQge1xuICAgICAgcGFkZGluZzogN3B4IDA7IH1cbiAgICAgIC5zaXRlLW1hcCB1bCAucGFyZW50IC5jaGlsZCA+IGEge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5zaXRlLW1hcCAucGFyZW50IGE6aG92ZXIsIC5zaXRlLW1hcCB1bCAuY2hpbGQgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaXRlLW1hcCAucGFyZW50IGE6YWN0aXZlLCAuc2l0ZS1tYXAgdWwgLmNoaWxkID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjZWM5MDhlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXIsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICNmZjZmMjA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgLnJlYWQtbW9yZS1idXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogI2VjOTA4ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYmFjay10by1pbmZvcm1hdGlvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAyMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIHdvcmQtc3BhY2luZzogMnB4O1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMTBweCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbiB7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uOmhvdmVyLCAuYmFjay10by1pbmZvcm1hdGlvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjphY3RpdmUsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246ZGlzYWJsZWQsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmRpc2FibGVkLCAuYmFjay10by1pbmZvcm1hdGlvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjpkaXNhYmxlZDpob3ZlciwgLmJhY2stdG8taW5mb3JtYXRpb24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpOyB9XG4gIC5iYWNrLXRvLWluZm9ybWF0aW9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFjay10by1pbmZvcm1hdGlvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmNtcy1jb250YWluZXIge1xuICBtYXJnaW46IDEycHggMCA0MXB4OyB9XG4gIC5jbXMtY29udGFpbmVyIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgxOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDQ6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg2IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTVweDtcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhI1cIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgb2wge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDAgMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDEge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoMiwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDMsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoMyB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoNSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDYsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoNiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5zdWNjZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLnN1Y2Nlc3MgaDIge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuc3VjY2VzcyAuYW1vdW50LXBhaWQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuYWxlcnQgcCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCAuYW1vdW50LXBhaWQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5jZW50ZXItY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIHtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoMiwgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoMywgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoNCwgLmNtcy1jb250ZW50LWNvbnRhaW5lci5lcnJvciBoNSB7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5ndXR0ZXIteSB7XG4gIG1hcmdpbjogMTJweCAwIDQxcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5wYWdlLWhlYWRpbmctY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMCAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIubm8tc2lkZS1wYWRkaW5nIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIub3V0bGluZSB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIub3V0bGluZSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLm91dGxpbmU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICB3aWR0aDogMTAwJTsgfVxuXG5hIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkpOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGFbY2xhc3MqPVwiLWJ1dHRvblwiXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgdGFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNwb3B1cE92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDAwMDsgfVxuICAjcG9wdXBPdmVybGF5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDA7IH1cblxuI3BvcHVwQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcG9wdXBDb250YWluZXIge1xuICAgICAgd2lkdGg6IDg0MHB4OyB9IH1cbiAgI3BvcHVwQ29udGFpbmVyLnN0YW5kYXJkIHtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7IH1cbiAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCAuY29udGVudENvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IC5jb250ZW50Q29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNwb3B1cENvbnRhaW5lciBsZWdlbmQge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfVxuICAjcG9wdXBDb250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3BvcHVwQ29udGFpbmVyIGZvcm0ge1xuICAgICAgICB3aWR0aDogNzQwcHg7IH0gfVxuICAjcG9wdXBDb250YWluZXIgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICBwYWRkaW5nOiAxM3B4IDEwcHg7IH1cbiAgI3BvcHVwQ29udGFpbmVyIC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICNwb3B1cENvbnRhaW5lciAucG9wdXBCdXR0b25Db250YWluZXIgLnBvcHVwQ2xvc2VCdXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XG4gIHdpZHRoOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2NoZWNrb3V0Rm9ybSBzZWxlY3Qge1xuICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbiNjaGVja291dEZvcm0gLmNoYW5nZURldGFpbHMge1xuICBtYXJnaW46IDVweCAwIDE1cHg7IH1cblxuI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjE2LCAxODMsIDE4MiwgMC4yKTsgfVxuXG4jY2hlY2tvdXRGb3JtIC5jaGVja291dC1kZXRhaWxzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4jY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCAzNXB4OyB9XG4gICNjaGVja291dEZvcm0gI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuXG4jY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciB7XG4gIG1hcmdpbjogNzVweCAwIDA7IH1cbiAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyICNjaGVja291dFN1Ym1pdEJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMywgNTEsIDQ4LCAwLjUpO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyICNjaGVja291dFN1Ym1pdEJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cblxuI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1heC1oZWlnaHQ6IDgwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciBoMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDcwLjRweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciBoMTpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjRmZic7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgLmJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAuYnV0dG9uQ29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgLmJ1dHRvbkNvbnRhaW5lciBidXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMTBweDsgfSB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNSk7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTkzMzMwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzMsIDUxLCA0OCwgMC41KTtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzU3VibWl0QnV0dG9uOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0Nsb3NlOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U5MzMzMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNSk7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0Nsb3NlOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuXG4jY2hhbmdlRGV0YWlscy5zdWNjZXNzIGgyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuI2FjY291bnRQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jdGVybXMge1xuICBtYXJnaW46IDUwcHggMCAwOyB9XG5cbiNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuI2RlbGl2ZXJ5Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNkZWxpdmVyeVVwZ3JhZGVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4udmFsaWRhdGlvbkVycm9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uZGVsaXZlcnktb3B0aW9uIHtcbiAgd2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LWNvbXBsZXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4jYmlsbFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lZGl0LmNoZWNrb3V0UG9wdXBMaW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgcCwgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgaDIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXI6aG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lcjpob3ZlciAucXVhdGVybmFyeS1idXR0b246bm90KDpob3Zlcikge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG8gMjVweCAwIDA7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ah1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAjZjJjNWNhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9IH1cblxuLmVycm9yQ29udGFpbmVyLnBvc3Rjb2RlTG9va3VwU2VsZWN0Q29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5kZWxpdmVyeS1yZWFkLW9ubHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcclxuLS0tLS0gNDA0IC0tLS0tLSBcclxuLSBBcmUgeW91IGxvc3Q/IFxyXG4qL1xuLmVycm9yLW5vdC1mb3VuZC1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1Mi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcnJvci1ub3QtZm91bmQtbG9nbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDVweDsgfSB9XG5cbi5lcnJvci1ub3QtZm91bmQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvNDA0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOTBweCAzMHB4OyB9XG5cbi5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIge1xuICB3aWR0aDogOTB2dztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA4MDBweDsgfSB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA2Mi41cHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMTI1cHggMCAwOyB9IH1cblxuLypcclxuLS0tLS0gTGlnaHQgYm94ICAtLS0tLVxyXG4tIFRoaXMgZ2V0IGRpc3BsYXllZCBvbiBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgdGhlIGZ1bGwgcmVzb2x1dGlvbiBwcm9kdWN0IGltYWdlcy5cclxuRnVudGlvbmFsaXR5IHRoaXMgaG9sZHM6XHJcbi0gTGlnaHQgYm94IGFjdGl2ZSAvIGluYWN0aXZlIHN0YXRlcy5cclxuLSBUaGUgb3ZlcmxheSBzdHlsZXMuXHJcbi0gQWRkaXRpb25hbCBJbWFnZXMuXHJcbi0gMzYwIGltYWdlIHN1cHBvcnQuXHJcbi0gVGhlIGhlYWRlciB0aGF0IGdldHMgZ2VuZXJhdGVkLlxyXG4tIFZpZGVvIHBsYXllci5cclxuKi9cbiNsaWdodGJveC1vdmVybGF5LmFjdGl2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMC43O1xuICB6LWluZGV4OiAxMDAwMDsgfVxuXG4ubGlnaHRib3gge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5saWdodGJveC5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAubGlnaHRib3guYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4jbGlnaHRib3gtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gIHotaW5kZXg6IDUwMDA7IH1cbiAgI2xpZ2h0Ym94LWhlYWRlciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAjbGlnaHRib3gtaGVhZGVyICNsaWdodGJveC1jb3VudCB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDdweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjbGlnaHRib3gtaGVhZGVyICNsaWdodGJveC1jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICNsaWdodGJveC1oZWFkZXIgI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgIG9yZGVyOiA0OyB9XG5cbiNsaWdodGJveC1jb250ZW50LW91dGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDAwMDsgfVxuXG4jbGlnaHRib3gtY29udGVudC1pbm5lci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ucmVlbC1vdmVybGF5IHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5pbWFnZS5saWdodGJveC1lbmFibGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74yeXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmltYWdlLmxpZ2h0Ym94LWVuYWJsZWQ6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJvcmRlci1jb2xvcjogI0U5MzMzMDsgfVxuXG4ubGlnaHRib3ggI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0byAxNXB4OyB9XG5cbi5saWdodGJveCAuY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5saWdodGJveCAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmxpZ2h0Ym94IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmxpZ2h0Ym94IC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLmxpZ2h0Ym94IC5yZWVsLW92ZXJsYXkge1xuICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWxpZ2h0Ym94LWhlYWRlci1oZWlnaHQpIC0gMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQge1xuICAgICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIG1heC1oZWlnaHQ6IDcwdmg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUge1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDEwMHB4KTtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgbWF4LWhlaWdodDogODB2aDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA4NXZoOyB9IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUuaXMtdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwdnc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUuYWN0aXZlLmlzLXZpZGVvIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHZ3OyB9IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUgaW1nLCAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Qm94U2xpZGUgI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldixcbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0IHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNFOTMzMzA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXYsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4OyB9IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6YmVmb3JlLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUsXG4gICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LmRpc2FibGVkLFxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dC5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTgsIDIxOCwgMjE4LCAwLjcpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldiB7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDtcbiAgICBib3JkZXItd2lkdGg6IDJweCAycHggMnB4IDA7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCAXCI7IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0IHtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcbiAgICBib3JkZXItd2lkdGg6IDJweCAwIDJweCAycHg7IH1cbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmxpZ2h0Ym94IC5zbGlkZXNDb250YWluZXIge1xuICBib3gtc2hhZG93OiAtMjBweCA2cHggNjBweCAtMTNweCAjMDAwMDAwOyB9XG5cbi5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lciB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIGxpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIGxpLmFjdGl2ZSBpbWcge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgLnBzX19yYWlsLXkge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteSAucHNfX3RodW1iLXkge1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMywgNTEsIDQ4LCAwLjcpOyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIC5wc19fcmFpbC14IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkge1xuICAgICAgICAgIGZsZXg6IGluaGVyaXQ7IH0gfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCBsaS5hY3RpdmUgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCAucHNfX3JhaWwteSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXgge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIuaG9yaXpvbnRhbCAucHNfX3JhaWwteCAucHNfX3RodW1iLXgge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzMsIDUxLCA0OCwgMC43KTsgfVxuXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAubGlnaHRib3gtcGFnZXItaXRlbS5pbWFnZS0zNjAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cblxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC4zKTsgfVxuXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyB9XG5cbi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuaW1hZ2UtbWFnbmlmaWNhdGlvbi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmltYWdlLW1hZ25pZmljYXRpb24gLm1hZ25pZnlpbmctZ2xhc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyOyB9XG5cbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTkzMzMwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbC5kZS1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CQXCI7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wuaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjlwiOyB9XG5cbi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cbi5jYXJvdXNlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbW9kdWxlLWd1dHRlcjogMTBweDsgfVxuICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAuY2Fyb3VzZWwudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsIC5ieC12aWV3cG9ydCwgLmNhcm91c2VsLnRyYW5zaXRpb24tbW9kZS1mYWRlIC5ieC12aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIC0tbW9kdWxlLWd1dHRlcjogMTVweDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAxNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDQwJSAtIDEwcHgpIGNhbGMoNjAlIC0gMTBweCk7XG4gICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc2JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIG9yZGVyOiAxOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWJvdHRvbSAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgcGFkZGluZzogNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmltYWdlIHtcbiAgd2lkdGg6IDExMHB4O1xuICBtYXJnaW46IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIFtkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IGE6Zmlyc3QtY2hpbGQge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmltYWdlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXTpoYXMoLnJlYWQtbW9yZSkge1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIGEsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmhvdmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb246bm90KDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0bztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlOm5vdCg6ZW1wdHkpICsgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb246bm90KDplbXB0eSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBhLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBhIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBidXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciBidXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGJ1dHRvbiB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTVweCAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogNXB4OyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogNjYlO1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5taW5pZmllZCAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlIHtcbiAgICB3aWR0aDogMTEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLnJlYWQtbW9yZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLnJlYWQtbW9yZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUge1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmFjdGl2ZSAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfVxuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uOmlzKDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlIGltZywgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlIGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmRlcGFydG1lbnQtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICNFOTMzMzApO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNmYyMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5kZXNjcmlwdGlvbiBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnJlYWQtbW9yZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5yZWFkLW1vcmUge1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnNwZWNpZmljYXRpb24gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5zcGVjaWZpY2F0aW9uIHAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvZGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2RlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcywgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWw6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2Uge1xuICBtYXJnaW46IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZSAuY3VycmVuY3ksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAudmF0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnZhdCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIGZvcm0sIFtkYXRhLWJ4U2xpZGVyXSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XG4gIG1hcmdpbjogYXV0byAwIDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5hZGRUb0Jhc2tldC5pY29uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmFkZFRvQmFza2V0Lmljb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5hZGRUb0Jhc2tldC5pY29uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuZmF2b3VyaXRlc0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB3aWR0aDogODBweDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuYngtc2VwZXJhdG9yIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdICsgLmNvbGxlY3Rpb24taXRlbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5ieC12aWV3cG9ydCB7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmJ4LXZpZXdwb3J0ID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2lkJD1cIi1jYXJvdXNlbC1jb250YWluZXJcIl0ge1xuICBmbGV4OiAxOyB9XG5cbi5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcbiAgaGVpZ2h0OiAzMHB4OyB9XG4gIC5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAuY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgd2lkdGg6IDExMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgICAgIGhlaWdodDogNDVweDsgfSB9XG5cbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbi5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgICAuY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuXG4uY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyLFxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOTMzMzA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyM2RlZyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOTMzMzA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQzZGVnKTsgfSB9XG5cbi5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIG9wYWNpdHkgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9IH1cbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICBtYXJnaW46IDEwcHg7IH1cblxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ieC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUgLmJ4LWNvbnRyb2xzLCAuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ggFwiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCBXCI7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYngtY29udHJvbHMuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI0U5MzMzMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSxcbiAgICAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gIGNvbG9yOiAjRTkzMzMwOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCAXCI7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCBXCI7IH1cblxuLmJ4LXByZXYsIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5ieC1wcmV2IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LXByZXYge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5ieC1uZXh0IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LW5leHQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxXCJdIHtcbiAgLS1jb2x1bW5zOiAxOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIyXCJdIHtcbiAgLS1jb2x1bW5zOiAyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIzXCJdIHtcbiAgLS1jb2x1bW5zOiAzOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI0XCJdIHtcbiAgLS1jb2x1bW5zOiA0OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI1XCJdIHtcbiAgLS1jb2x1bW5zOiA1OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI2XCJdIHtcbiAgLS1jb2x1bW5zOiA2OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI3XCJdIHtcbiAgLS1jb2x1bW5zOiA3OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI4XCJdIHtcbiAgLS1jb2x1bW5zOiA4OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI5XCJdIHtcbiAgLS1jb2x1bW5zOiA5OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxMFwiXSB7XG4gIC0tY29sdW1uczogMTA7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjExXCJdIHtcbiAgLS1jb2x1bW5zOiAxMTsgfVxuXG5kaXZbZGF0YS1ieFNsaWRlcl1bYngtY29sdW1uLWNvdW50PVwiMTJcIl0ge1xuICAtLWNvbHVtbnM6IDEyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC0tc21hbGwtY29sdW1uczogbWF4KHJvdW5kKGRvd24sIGNhbGModmFyKC0tY29sdW1ucykgLyAyKSwgMSksIDEpO1xuICAtLW1lZGl1bS1jb2x1bW5zOiBjYWxjKHZhcigtLXNtYWxsLWNvbHVtbnMpICsgMSk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXNtYWxsLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbWVkaXVtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSA+ICoge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuMik7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM5NTk1OTU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICBhbmltYXRpb246IHNwaW4gMC43cyBjdWJpYy1iZXppZXIoMC41NiwgMC4xMSwgMC4yMiwgMC44NjUpIDBzIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDE7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9IH1cbiAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIC5jb2xsZWN0aW9uLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJ4LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uY2Fyb3VzZWwgLmJ4LXZpZXdwb3J0IC5jb2xsZWN0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmJ4LXBhZ2VyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjIuNXB4O1xuICAgIGhlaWdodDogMjIuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDsgfSB9XG4gICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDsgfVxuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLypcclxuLS0tLS0gU2xpZGVycyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFRoaXMgaXMgKk5PVCogY2Fyb3VzZWwgZnVuY3Rpb25hbGl0eSBwbGVhc2UgcmVmZXIgdG8gYnhzbGlkZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBUaGlzIGlzIGZvcm0gZm9ybSBjb250cm9scyB3aGVyZSB5b3UgcmVxdWlyZSBhbiBpbnB1dCB0eXBlID0gc2xpZGVyLlxyXG4tIFRoZSBzdGx5ZXMgaGVyZSB3aWxsIGFsc28gaGF2ZSBhIGhlYXZ5IGluZmx1ZW5jZSBvbiB0aGUgcHJpY2Ugc2xpZGVyIGZvciBmaWx0ZXJzLlxyXG4qL1xuLnNsaWRlciB7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuc2xpZGVyOmhvdmVyIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMjA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLnNsaWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGlkZXI6YWN0aXZlIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7IH1cbiAgLnNsaWRlci5zbGlkZXItaW52YWxpZCAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuICAuc2xpZGVyLnNsaWRlci1pbnZhbGlkIC51aS1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuXG4udWktc2xpZGVyLWhhbmRsZSB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnVpLXNsaWRlci1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDE7IH1cbiAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC51aS1zbGlkZXItcmFuZ2UudWktc2xpZGVyLXJhbmdlLW1pbjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItcmFuZ2UtbWF4OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uc2xpZGVyLWVycm9ycyB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDNweCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBjb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnNsaWRlci1lcnJvcnMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuXG5bZGF0YS10b29sdGlwXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuc3Bhbi50b29sdGlwLXRyaWdnZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogaGVscDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBzcGFuLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74SpXCI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDhweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIHNwYW4udG9vbHRpcC10cmlnZ2VyOmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgc3Bhbi50b29sdGlwLXRyaWdnZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udG9vbHRpcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIgcCwgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZjVlMDU7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiMjBjMGM7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnN0YXRlLWluZGljYXRvciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhJFcIjsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDhweCk7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiA4cHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tbGVmdCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDhweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogdW5zZXQ7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYygxMDAlIC0gOHB4KTsgfVxuICAudG9vbHRpcC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA5cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZjZmMjA7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtOXB4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTdweDsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnRvb2x0aXAtY29udGVudCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDEwO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY2ZjIwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGxpLCAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGEsIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IGxpIHAge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4vKlxyXG4tLS0tLSBSZWFkIG1vcmUgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBSZXZlYWxpbmcgYWRkaXRpb25hbCBtYXJrdXAsIHRoaXMgY2FuIGluY2x1ZGUgdGV4dCBvciBpbWFnZXMuXHJcbi0gSG93IHRoZSBmYWRlIC8gZ3JhZGlhbnQgZ2V0cyB1c2VkIHdoZW4gY3V0dGluZyBvZiB0aGUgb3ZlcmZsb3dpbmcgY29udGVudC5cclxuKi9cbi5yZWFkLW1vcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJlYWQtbW9yZS5jb250YWluZXItY2FsY3VsYXRpb24td2FpdGluZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVhZC1tb3JlLmFjdGl2ZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG4gIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkTW9yZUJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCGXCI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUubW9iaWxlLW9ubHkgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZWFkLW1vcmUubW9iaWxlLW9ubHkgLnJlYWRNb3JlQnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC44czsgfVxuICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDI0cHg7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5yZWFkLW1vcmUgLnJlYWRNb3JlQnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAucmVhZC1tb3JlIC5yZWFkTW9yZUJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoJ5cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgMHB4LCAjMDAwMDAwIDUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpLm1vYmlsZS1vbmx5IC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcbiAgICBtYXNrLWltYWdlOiB1bnNldDsgfSB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgbWFzay1pbWFnZTogdW5zZXQ7IH1cblxuLnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIC5yZWFkLW1vcmUtY29udGVudC5jb250ZW50LXRydW5jYXRlLWVuYWJsZWQgPiBwIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tcmVhZC1tb3JlLWxpbmUtY2xhbXApO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyB9XG4gIC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkID4gcCArIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlYWQtbW9yZTpub3QoW3JtLWlkXSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcclxuLS0tLS0gQXV0byBDb21wbGV0ZSAoIFByZWRpY3RpdmUgU2VhcmNoICkgLS0tLS0tIFxyXG5UaGUgZHJvcGRvd24geW91IHNlZSB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gYSBxdWVyeSB3aXRoaW4gdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuKi9cbiNoZWFkZXJTZWFyY2hGb3JtIC5hYy1yZXN1bHRzIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgcGFkZGluZzogMTEwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyA+IHVsIHtcbiAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCA2JTtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNFOTMzMzA7XG4gICAgICB6LWluZGV4OiA1MDAwMDsgfSB9XG5cbi5hYy1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMHZoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWMtcmVzdWx0cyB7XG4gICAgICB6LWluZGV4OiAyMDAwMDE7IH0gfVxuICAuYWMtcmVzdWx0cy5zY3JvbGxlciA+IHVsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLmFjLXJlc3VsdHMgPiB1bCwgLmFjLXJlc3VsdHMgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XG4gICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWMtcmVzdWx0cyA+IHVsLCAuYWMtcmVzdWx0cyAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLmFjLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGw6aG92ZXIgYTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIgLnZpZXctYWxsIGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uYWMtdGl0bGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDAgMTVweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLmFjLWl0ZW0tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5hYy1pdGVtLWxpc3QuY29sdW1uIC5hYy1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWMtaXRlbS1saXN0LmNvbHVtbiAuYWMtaXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMCA1MCU7IH0gfVxuICAuYWMtaXRlbS1saXN0Om5vdCguY29sdW1uKSAuYWMtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjLWl0ZW0tbGlzdC5yb3cgLmFjLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cblxuLmFjLWl0ZW0ge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgLmFjLWl0ZW06aG92ZXIgYSBzcGFuIHtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hYy1pdGVtIC5pbWFnZSwgLmFjLWl0ZW0gLmFjLWl0ZW0tbXVsdGltZWRpYS1jb250ZW50IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLmFjLWl0ZW0gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmFjLWl0ZW0gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgICAuYWMtaXRlbSBhIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWMtaXRlbSAuYWMtaXRlbS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTsgfVxuICAuYWMtaXRlbSAuaXRlbS1yZWZlcmVuY2Uge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLmFjLWl0ZW0gLml0ZW0tc25pcHBldCB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG5cbi5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCB7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG4gICAgLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIgLmFqYXgtc2VhcmNoICsgYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNTBweDsgfVxuXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lci5hY3RpdmUgLmFjLXJlc3VsdHMge1xuICBtYXgtaGVpZ2h0OiA5MDBweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdXRvY29tcGxldGUtY29udGFpbmVyLmFjdGl2ZSAuYWMtcmVzdWx0cyB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpOyB9IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLmFjLXJlc3VsdHMge1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5hdXRvY29tcGxldGUtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmxhc3QtY2hpbGQgLmFjLWl0ZW0tbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLnNhIHtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweDsgfVxuICAuc2Etd2FybmluZyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogc2NhbGVXYXJuaW5nIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAgIC5zYS13YXJuaW5nOmFmdGVyLCAuc2Etd2FybmluZzpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5zYS13YXJuaW5nOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnNhLXdhcm5pbmc6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnNhLXdhcm5pbmctYm9keSB7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA0N3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAgIC5zYS13YXJuaW5nLWRvdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTNweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA3cHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlOyB9XG4gIC5zYS1lcnJvciB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZUVycm9ySWNvbiAuNXM7IH1cbiAgICAuc2EtZXJyb3I6YWZ0ZXIsIC5zYS1lcnJvcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDYwcHg7IH1cbiAgICAuc2EtZXJyb3I6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggMCAwIDQwcHg7XG4gICAgICB3aWR0aDogMjZweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHRvcDogLTE3cHg7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLnNhLWVycm9yOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA2MHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsgfVxuICAgIC5zYS1lcnJvci14IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5zYS1lcnJvci1wbGFjZWhvbGRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGxlZnQ6IC00cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2EtZXJyb3ItZml4IHtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICBsZWZ0OiAyOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5zYS1lcnJvci1sZWZ0LCAuc2EtZXJyb3ItcmlnaHQge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgdG9wOiAzN3B4O1xuICAgICAgd2lkdGg6IDQ3cHg7IH1cbiAgICAuc2EtZXJyb3ItbGVmdCB7XG4gICAgICBsZWZ0OiAxN3B4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWExlZnQgLjc1czsgfVxuICAgIC5zYS1lcnJvci1yaWdodCB7XG4gICAgICByaWdodDogMTZweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBhbmltYXRpb246IGFuaW1hdGVYUmlnaHQgLjc1czsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcbiAgMCUsXG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEwMCUsXG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVFcnJvckljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVhMZWZ0IHtcbiAgMCUsXG4gIDY1JSB7XG4gICAgbGVmdDogODJweDtcbiAgICB0b3A6IDk1cHg7XG4gICAgd2lkdGg6IDA7IH1cbiAgODQlIHtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogMzNweDtcbiAgICB3aWR0aDogNDdweDsgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAxN3B4O1xuICAgIHRvcDogMzdweDtcbiAgICB3aWR0aDogNDdweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVhSaWdodCB7XG4gIDAlLFxuICA2NSUge1xuICAgIHJpZ2h0OiA4MnB4O1xuICAgIHRvcDogOTVweDtcbiAgICB3aWR0aDogMDsgfVxuICA4NCUge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIHRvcDogMzNweDtcbiAgICB3aWR0aDogNDdweDsgfVxuICAxMDAlIHtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDM3cHg7XG4gICAgd2lkdGg6IDQ3cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNjYWxlV2FybmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmcge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgMzAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nSW5zIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTsgfSB9XG5cbi5jaGVja19tYXJrIHtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweDsgfVxuXG4uc2EtaWNvbiB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICMxMjgxMWY7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSxcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEyMHB4IDAgMCAxMjBweDtcbiAgdG9wOiAtN3B4O1xuICBsZWZ0OiAtMzNweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwO1xuICB0b3A6IC0xMXB4O1xuICBsZWZ0OiAzMHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggNjBweDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTRweDtcbiAgdG9wOiAtNHB4O1xuICB6LWluZGV4OiAyOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWZpeCB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyOHB4O1xuICB0b3A6IDhweDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzLmFuaW1hdGU6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50XFw5OyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIFxcOTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIFxcOTsgfVxuXG4uYW5pbWF0ZVN1Y2Nlc3NUaXAge1xuICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzVGlwIDAuNzVzOyB9XG5cbi5hbmltYXRlU3VjY2Vzc0xvbmcge1xuICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzTG9uZyAwLjc1czsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA2NSUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAzNXB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiA0N3B4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzOHB4OyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDcwJSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDM3cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogNDVweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA1NCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNzAlIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIHRvcDogMzdweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGxlZnQ6IDIxcHg7XG4gICAgdG9wOiA0OHB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiA0NXB4OyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDY1JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDM1cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDQ3cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDM4cHg7IH0gfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lIHtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XG4gIHdpZHRoOiAyNXB4O1xuICBsZWZ0OiAxNHB4O1xuICB0b3A6IDQ2cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcbiAgd2lkdGg6IDQ3cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHRvcDogMzhweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTsgfSB9XG5cbi8qXHJcbi0tLS0tIE5vdGlmaWNhdGlvbnMgKCBDYWxsb3V0cyApIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gT24gcGFnZSBub3RpY2F0aW9ucyAoIG5vIGl0ZW1zIGZvdW5kICkgXHJcbi0gSGVhZGVyIG5vdGlmaWNhdGlvbnMuXHJcbi0gQ29va2llIG5vdGlmaWNhdGlvbi5cclxuLSBDYWxsb3V0cyAoIHRoaW5ncyB0aGF0IHNsaWRlIG91dCBmcm9tIHRoZSBlZGdlZCBvZiBhIHdpbmRvdyApIFxyXG4tIE5vIEphdmFzY3JpcHQgbm90aWZpY2F0aW9uXHJcbi0gQnJvd3NlciBjb21wYXRpYmxpdHkgbm90aWZpY2F0aW9uIFxyXG5cclxuKi9cbi5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGg1IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDM1cHg7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBoNTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IGJ1dHRvbjpub3QoLmNsb3NlLWJ1dHRvbikge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b24uY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogMDsgfSB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYWxlcnQgaDU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAud2FybmluZyBoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5zdWNjZXNzIGg1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIxcIjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY2FsbG91dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhbGxvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OyB9XG4gIC5jYWxsb3V0LWNvbnRhaW5lci5zaWRlIC5jYWxsb3V0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzEyODExZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3Mgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyB7XG4gICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZjVlMDU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2IyMGMwYztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IGg1IHtcbiAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IGg1IHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4ub24tcGFnZS1ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTIge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDEsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGgyLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoMywgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDQsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGg1LCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoNiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgcCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGgxLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoMiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDMsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGg0LCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoNSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDYsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIHAsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDEsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoMiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGgzLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDQsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoNSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGg2LCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgcCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmRpc2FibGVkIHAge1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIHRhYmxlLCAub24tcGFnZS1ub3RpZmljYXRpb24gcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHtcbiAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGJvZHkgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5uby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YmVmb3JlLCAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cblxuLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoMiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGgzLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoNSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGg2LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGgxLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoMywgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGg0LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoNiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIHAsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDEsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDMsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDQsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgaDYsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgcCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cblxuLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XG4gIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDAgMTBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDM1cHggMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIge1xuICAgICAgZ2FwOiAwIDE1cHg7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTIge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjVweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIucHJlc2V0LTMge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzczpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGgzLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGg2LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGgxLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDIsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoMywgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGg0LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoNiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIHAsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDIsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDMsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDUsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgaDYsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBhIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuZGlzYWJsZWQgcCB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGUge1xuICAgIC0tZm9udC1mYW1pbHk6IGZvbnRlbGxvOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbiNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG4gICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHAge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgY29sb3I6ICNmZjAxMDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgI25vSnNCYXNrZXROb3RpZmljYXRpb24gYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDEsIDEsIDAuOSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cblxuLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAyMDAwOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDE1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtcztcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDNzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4OyB9IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IGF1dG8gMTJweCBhdXRvIDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5ub3RpZmljYXRpb24taWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAxMHB4IGF1dG8gMDsgfSB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIGltZyB7XG4gICAgICB3aWR0aDogNDBweDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWJhc2lzOiAxODBweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDE3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyQ9XCItYnV0dG9uXCJdIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzJD1cIi1idXR0b25cIl06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MkPVwiLWJ1dHRvblwiXTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMnMsIG1heC1oZWlnaHQgMC44czsgfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAwLjZzLCBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDEge1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMTpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDI6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDM6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMzpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1Om9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDYge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDY6b25seS1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCArIHAge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsIHVsIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGxpIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDEsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGgyLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoMywgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDQsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGg1LCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoNiwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoNiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGRsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHtcbiAgICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6YWN0aXZlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIucHdhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhiN2I2OyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvb2tpZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpOyB9XG5cbi8qXHJcblxyXG4tLS0tIEltYWdlIE92ZXJsYXlzIC0tLS0gXHJcblxyXG5JbWFnZSBvdmVybGF5cyBmb3IgZXNzZW50aWFsbHkgaGlnaGxpZ2h0ZWQgaXRlbXM6XHJcbi0gU3BlY2lhbCBPZmZlcnNcclxuLSBGZWF0dXJlZCBJdGVtc1xyXG4tIEJlc3QgU2VsbGVyc1xyXG4tIFByZXZpb3VzbHkgUHVyY2hhc2VkXHJcblxyXG5UaGVzZSBub3JtYWxseSBhcmUgdGhlIHNpemUgb2YgdGhlIHByb2R1Y3QgaW1hZ2Ugd2hldGhlciBpdHMgb24gYSBsaXN0aW5nIG9yIHByb2R1Y3QgcGFnZSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuXHJcbldlIGFsbG93IGZvciBkaWZmZXJlbnQgaW1hZ2VzIHRvIGJlIGRpc3BsYXllZCBpZiBhIGdyb3VwIGlzIG1hcmtlZCBhcyBhIGhpZ2hsaWdodGVkIGl0ZW0gb3Igd2hldGhlciBpdHMgYW4gaW5kaXZpZHVhbCBwcm9kdWN0LlxyXG5cclxuKi9cbiNzcGVjaWFsLW9mZmVycyAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNmZWF0dXJlZC1pdGVtcyAub3ZlcmxheS5zdG9jay5mZWF0dXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2Jlc3Qtc2VsbGVycyAub3ZlcmxheS5zdG9jay5iZXN0U2VsbGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4jbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmltYWdlOmhhcyhpbWdbc3JjJD1cIi5wbmdcIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5pbWFnZTpob3ZlciAub3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAgIC5pbWFnZSBpbWdbc3JjJD1cIi5zdmdcIl0sIC5pbWFnZSBpbWdbc3JjJD1cIi5TVkdcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmltYWdlIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW1hZ2UgLm92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmltYWdlIC5vdmVybGF5Lmdyb3VwLnNwZWNpYWxPZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvZ3JvdXAvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuZ3JvdXAuZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL2dyb3VwL3Nhc2gtZmVhdHVyZWQtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5ncm91cC5iZXN0U2VsbGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9ncm91cC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1mZWF0dXJlZC1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2sucHJldmlvdXNseS1wdXJjaGFzZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1wcmV2aW91c2x5LXB1cmNoYXNlZC5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suY29udHJhY3QtaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWNvbnRyYWN0LWl0ZW0ucG5nXCIpOyB9XG5cbltkYXRhLWNvdW50ZG93bi10aW1lXSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIgcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIHA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDdweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXIgLmRpc3BsYXktbGFiZWwge1xuICBtYXJnaW46IDAgNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSArIC5kaXNwbGF5LWxhYmVsLCAuY291bnRkb3duLWNvbnRhaW5lciAuZGlzcGxheS1sYWJlbCArIC5kaXNwbGF5LWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lcltjb3VudGRvd24tc3RhdHVzPWFsZXJ0XSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIC5kaXNwbGF5LWxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9d2FybmluZ10gLmRpc3BsYXktbGFiZWwge1xuICBjb2xvcjogI2ZmNmYyMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lci5jb3VudGRvd24taW5hY3RpdmUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIuY291bnRkb3duLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1czsgfVxuXG4vKlxyXG5cclxuLS0tLS0gUFdBICggUHJvZ3Jlc3NpdmUgV2ViIEFwcGxpY2F0aW9uICkgLS0tLS0gXHJcbi0gSW5zdGFsbGF0aW9uIHByb21wdC5cclxuXHJcbiovXG4vKlxyXG4tLS0tLSBQYXltZW50IE1ldGhvZHMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBIb3cgcGF5bWVudCBtZXRob2RzIHN1Y2ggb2Ygb3BheW8gaWZyYW1lIGxvb2tzIGluIHRoZSBjaGVja291dC5cclxuKi9cbi5wYXltZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpOmhhcyguY29udGFpbmVyLXJlc2l6ZWQpIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGFkYWRhO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2Q6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnBheW1lbnQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZCBpZnJhbWUjb3BheW8taWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAyN3JlbTtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LnNtYWxsIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5tZWRpdW0ge1xuICAgICAgd2lkdGg6IDM5MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LmxhcmdlIHtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIGhlaWdodDogNjAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5leHRyYS1sYXJnZSB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbmZvcm0gKyAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lcjpvbmx5LWNoaWxkIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvY2FyZC1wYXltZW50LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5wYXlwYWwgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvcGF5cGFsLnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5nb29nbGUtcGF5IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuZ29vZ2xlLXBheSAudGl0bGUtaWNvbiB7XG4gICAgd2lkdGg6IDExNXB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZ29vZ2xlLXBheS5zdmdcIik7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuYXBwbGUtcGF5IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvYXBwbHktcGF5LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudC5vcGF5byB7XG4gICAgLS1jb250YWluZXItZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgLS1jb250YWluZXItZm9udC1zaXplOiAxcmVtO1xuICAgIC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveCB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveC5jaGVja2JveCAuY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmNvbnRyb2wuY2hlY2tib3ggLmxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb250YWluZXItZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1jb250YWluZXItZm9udC1zaXplKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb250YWluZXItbGluZS1oZWlnaHQpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmRldGFpbHMtY29udGFpbmVyICsgLnBheW1lbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuZGV0YWlscy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogY2FsYyg0NDBweCArIDIwcHgpOyB9IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXlwYWwtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDM0MHB4OyB9XG5cbi5jYXJkLWZyYW1lLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcblxyXG4tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyAtLS0tIFxyXG5cclxuV2hlcmUgdGhlc2UgZ2V0IHVzZWQ6XHJcbi0gT24gdGhlIHByb2R1Y3QgcGFnZSB0byBzaGFyZSBhIHNrdSBvbiBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpcclxuICAgIC0gRmFjZWJvb2tcclxuICAgIC0gVHdpdHRlclxyXG4gICAgLSBMaW5rZWRJbiBcclxuICAgIC0gRW1haWxcclxuLSBJbiB0aGUgZm9vdGVyIHRvIHRha2UgdGhlIHVzZXIgdG8gdGhlIG9yZ2FuaXNhdGlvbidzIHNvY2lhbCBtZWRpYSBwYWdlc1xyXG4tIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4gICAgLSBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbiAgICAtIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuXHJcbioqL1xuLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uc29jaWFsLWljb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc29jaWFsLWljb25zLnByb2R1Y3QsIC5zb2NpYWwtaWNvbnMubW9kdWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5wcm9kdWN0LCAuc29jaWFsLWljb25zLm1vZHVsZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5zb2NpYWwtaWNvbnMucmV2aWV3IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4OyB9XG4gIC5zb2NpYWwtaWNvbnMuZm9vdGVyIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIge1xuICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4OyB9IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciAuc29jaWFsLWljb25zLWhlYWRpbmcgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIgLnNvY2lhbC1pY29ucy1oZWFkaW5nIGgzIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciBhIHtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAuc29jaWFsLWljb25zLmZvb3RlciBhOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5pY29ucy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnNvY2lhbC1pY29ucyBhIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzICwgb3BhY2l0eSAwLjhzOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgQnJhbmRzXCI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuc29jaWFsLWljb25zIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnMgLCBvcGFjaXR5IDAuNnM7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDsgfVxuICAgICAgLnNvY2lhbC1pY29ucyBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5mYWNlYm9vazpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvjp5cIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS50d2l0dGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6Ym1wiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmxpbmtlZEluOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DoVwiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmluc3RhZ3JhbTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvha1cIjtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS55b3V0dWJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Fp1wiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmdvb2dsZS1wbHVzOmJlZm9yZSwgLnNvY2lhbC1pY29ucyBhLmdvb2dsZV9wbHVzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DlVwiOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhLmVtYWlsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HmFwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4OyB9XG5cbi5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucyB7XG4gICAgbWF4LXdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuOHM7IH1cbiAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtbmV4dC10by10b2dnbGUuYWN0aXZlIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42czsgfVxuICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW5leHQtdG8tdG9nZ2xlLmFjdGl2ZSArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZS5hY3RpdmUge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjZzO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOTMzMzA7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlLmFjdGl2ZSArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIC5yZXZlYWwtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkYWRhZGE7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIC5yZXZlYWwtY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIC5yZXZlYWwtY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4uc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTU5NTk1O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74egXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246aG92ZXIsIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUgLnNoYXJlLWJ1dHRvbjphY3RpdmUsIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI0U5MzMzMDsgfVxuXG4vKlxyXG4tLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgKCBQcmludGVyIHdpemFyZCApIC0tLS0tLSBcclxuLSBUaGUgZXF1aXBtZW50IHNlbGVjdG9yIGRyb3AgZG93biBzZWxlY3Rpb24uXHJcbi0gRXF1aXBtZW50IHNlbGVjdG9yIGxpc3Qgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBsaXN0IG9mIGFuY2hvcnMuXHJcbiovXG4uZXF1aXBtZW50LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYmFja2dyb3VuZDogI2U5MzMzMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNkYWRhZGEgNSUsICM0ODQ4NDggNjUlKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDsgfSB9XG5cbi5lcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9ycyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3RvcnMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9ycyBmb3JtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmVxdWlwbWVudC1zZWxlY3RvcnMgbGFiZWwuY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGxhYmVsLmNvbnRyb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGEge1xuICAgIG1heC1oZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOiA1cHggYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGEge1xuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9yLWxpc3Qge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMCAwIDI1cHgtMTBweDsgfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCB1bCBsaSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItbGlzdCB1bCBsaSB7XG4gICAgICAgICAgZmxleC1iYXNpczogMzMlOyB9IH1cbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKlxyXG4tLS0tLSBQaWNrICYgTWl4IC0tLS0tLSBcclxuLSBBIHNlbGVjdGlvbiBvZiBtdWx0aXBsZSBpdGVtcyB0byBjcmVhdGUgYSBwYWNrLlxyXG4qL1xuLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHBhZGRpbmc6IDAgMCAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZTkzMzMwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI2RhZGFkYSA1JSwgIzQ4NDg0OCA2NSUpO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuXG4ucGljay1uLW1peC1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5waWNrLW4tbWl4LWhlYWRlciBoMjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIGg0IHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5waWNrLW4tbWl4LWhlYWRlciBoNCBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBwIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGljay1uLW1peC1oZWFkZXIgLmhlYWRlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cblxuLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiA3LjVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTsgfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleDogMTsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuc2xpZGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5zbGlkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1ncm91cCAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDIyLjVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH0gfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciwgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAxNy41cHggMDsgfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICBtYXJnaW46IDAgMjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNDBweDsgfSB9XG4gICAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIgLnNlbGVjdGVkLWNvdW50IHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2EwYTBhMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDsgfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIgLnJlbWFpbmluZy1jb3VudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLmZvcm0tZXJyb3Ige1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBtYXJnaW4tcmlndGg6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbmlucHV0LnVpLXN0YXRlLWFjdGl2ZSwgLmlucHV0LW51bWJlci51aS1zdGF0ZS1hY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlNWI3MDE7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hvZGF3IDAuNnM7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciArIC5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5waWNrLW4tbWl4LWJ1dHRvbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ucGljay1uLW1peC1zZWxlY3Rpb24ge1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4vKiBcclxuXHJcbi0tLS0tIEFuaW1hdGlvbnMgLS0tLS0gXHJcblRPRE86IFRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgZGV2IGN5Y2xlIG9mIGp1c3QgdHJpbmcgdG8gZ2V0IEhUTUw1IENhbnZhcydzIGV4cG9ydGVkIGZyb20gYWRvYmUgYW5pbWF0ZSB0byB3b3JrIGluc2lkZSBvZiBleHByZXNzIGFuZCB0byBoYXZlIG11bHRpcGxlIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXQgb25jZSwgc28gdGhlcmUgaXMgc3RpbGwgbXVjaCB3b3JrIHRvIGJlIGRvbmUgaGVyZSBpdHMgbW9yZSBvZiBhIHByb29mIG9mIGNvbmNlcHQgYXQgdGhpcyBwb2ludC5cclxuLSBBbmltYXRlZCBIVE1MNSBDYW52YXMnc1xyXG4tIEludGVyYWN0aXZlIEFuaW1hdGlvbnMuXHJcbiovXG5jYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cy5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLypcclxuLS0tLS0gVG9wIGJhciAtLS0tLVxyXG5UaGlzIGhhcyBoYWQgdG8gYmUgd3JpdHRlbiBkdWUgdG8gZm91bmRhdGlvbidzIHRvcC1iYXIgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBjZW50ZXJlZCBpdGVtcywgeW91IG9ubHkgZ2V0IHRoZSBvcHRpb24gdG9wLWJhci1sZWZ0ICYgdG9wLWJhci1yaWdodCwgdGhlIGRlc2lnbiBjYWxscyBmb3IgdGhlIGN1cnJlbmN5IHNlbGVjdG9yIHRvIGJlIGluIHRoZSBtaWRkbGUuXHJcbiovXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAudG9wLWJhci51cHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgPiB1bCBsaSwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDYuNXB4IDE1cHg7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmZpcnN0LWNoaWxkLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpOmxhc3QtY2hpbGQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAudG9wLWJhciAubWVudSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRvcC1iYXIgLm1lbnUgPiBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAgIC50b3AtYmFyIC5tZW51ID4gbGkgYTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51ID4gbGkgYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudG9wLWJhciAubWVudSBsaSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6aG92ZXIgPiBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaTpob3ZlciA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaTphY3RpdmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpOmFjdGl2ZSA+IGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaSBhLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nOiA2LjVweCAxNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpIGE6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cblxuI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2ctcGFnZS1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1wYWdlLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7IH0gfVxuXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7IH0gfVxuXG4uc2ctaGVhZGluZyB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAuc2ctaGVhZGluZyBoMiB7XG4gICAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLnNnLWludHJvIHtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNnLXN1Yi1oZWFkaW5nIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgLnNnLXN1Yi1oZWFkaW5nIGgzIHtcbiAgICBjb2xvcjogIzVmN2IyNztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5zZy1zdWItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zZy1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmM2YzZjM7IH1cblxuLnNnLWRlbW8tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2ctZGVtby1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHAsXG4gIC5jc3MtcHJvcGVydHktdmlldyBwIHtcbiAgICBtYXJnaW46IDNweCAwOyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciBwLFxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgbGksXG4gIC5jc3MtcHJvcGVydHktdmlldyBwLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaXRlbS1pbmZvLWxhYmVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgLml0ZW0taW5mby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1pdGVtLXNlcGVyYXRvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNlbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNvbG91ci1wYWxldHRlIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuc2ctY29sb3VyLXBhbGV0dGUgLmdyaWQtY29sbGVjdGlvbi14Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5jb2xvdXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAuY29sb3VyLWJsb2NrOmhvdmVyIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbG91ci1ibG9jayAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sb3VyLWJsb2NrIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91ci1oZXgtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I3YjdiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5MDhlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhN2U3YzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGI3YjY7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4OWQ5YzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwYjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjIwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MzgwYjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI2LTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMzM2Y7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwMDAwMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxMDE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYyMDIwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDA0MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjYwNjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4MDgwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYTBhMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJmYmY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZmRmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZWY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI1NzlhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNjViMjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjczYzg7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4NWNmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZjOTZkNjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4NWE4ZGQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWRiOWU0OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I2Y2JlYjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWRjZjE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlZWY4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y2ZmM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTViNzAxOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlY2MwNDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkNzNjOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZGQ1ODsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWUyNzQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlODhmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVhYjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0Yzc7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWUzOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZjZjE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTIzNGUzOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FiNDhlNjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNTVkZTk7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0zIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmU3MWViOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3ODVlZTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMTlhZjE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFhZWY0OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UzYzJmNzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2Q2Zjk7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZlYmZjOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWY1ZmU7IH1cbiAgLmNvbG91ci1ibG9jayAuc3VjY2Vzcy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7IH1cbiAgLmNvbG91ci1ibG9jayAud2FybmluZy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH1cbiAgLmNvbG91ci1ibG9jayAuYWxlcnQtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG4gIC5jb2xvdXItYmxvY2sgLnByaWNlLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDEwMTsgfVxuICAuY29sb3VyLWJsb2NrIC5zYXZpbmctY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwOyB9XG4gIC5jb2xvdXItYmxvY2sgLnJycC1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnNnLWJ1dHRvbnMgLnNnLWNvbXBhcmlzb24tdGFibGUgLmFjdGlvbi1idXR0b24ge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50OyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi10eXBlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLXR5cGUgKyAubm90aWZpY2F0aW9uLXN0eWxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlZTsgfVxuXG4uc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24tc3R5bGUge1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uc2ctcXVhbnRpdHktc2VsZWN0b3JzIC5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcbiAgbWFyZ2luOiBhdXRvIDAgMDsgfVxuXG4uc2ctY2FsbG91dHMgLmNhbGxvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zZy1jb21wYXJpc29uLXRhYmxlIHRoOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2ctY29tcGFyaXNvbi10YWJsZSB0ZCBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuI3RhYmxlLW9mLWNvbnRlbnRzLXN0aWNreS1jb250YWluZXIgLnN0aWNreSB7XG4gIHotaW5kZXg6IDI7IH1cblxuLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLnRhYmxlLW9mLWNvbnRlbnRzIC5oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGNvbG9yOiAjNWY3YjI3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgICAudGFibGUtb2YtY29udGVudHMgLmhlYWRpbmcgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB7XG4gICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNnMgZWFzZS1pbjsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzNjU7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2Utb3V0OyB9XG4gICAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkuYWN0aXZlIGEge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjZzIGVhc2UtaW47IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgdHJhbnNpdGlvbjogZm9udC13ZWlnaHQgLjRzIGVhc2Utb3V0OyB9XG4gICAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogVGhpcyBzdHlsZXMgdGhlIGV4YW1wbGUgcm93cyB1c2VkIGluIHRoZSBncmlkIGRvY3VtZW50YXRpb24uICovXG4uZ3JpZC14LmRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBmb250LXNpemU6IDExcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGw6bnRoLWNoaWxkKDIpLFxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLnNtYWxsLWNlbnRlcmVkLFxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmxhcmdlLWNlbnRlcmVkIHtcbiAgYmFja2dyb3VuZDogI2UxZTFlMTsgfVxuXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuY29sb3ItZW5kIHtcbiAgYmFja2dyb3VuZDogI2Q0ZDRkNDsgfVxuXG4uc2ctaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgcGFkZGluZzogMnJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0MDBweDsgfVxuXG4uc2ctc2lkZS1tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmdyaWQtY29udGFpbmVyLnBhZGRlZCB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5zZy1zaWRlLW1lbnUgYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluOyB9XG5cbi5zZy1zaWRlLW1lbnUgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLnNnLXNpZGUtbWVudSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzE0NjhhMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnNnLXNpZGUtbWVudS5tZW51IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG5cbi8qXHJcbi0tLS0tIEFkbWluIC0tLS0tXHJcblRoaXMgd2lsbCBwb3RlbnRpYWwgaGFuZCB2bUFkbWluIHYyLlxyXG4qL1xuLnZtYWRtaW4tZWRpdG9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudm1hZG1pbi1lZGl0b3IuaW5saW5lLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xuICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTMwcHg7IH1cbiAgICAgIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scy5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvciAuY2stY29udGVudC5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSA+IHAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAudm1hZG1pbi1lZGl0b3IgLmNrLWNvbnRlbnQuY2suY2stZWRpdG9yX19lZGl0YWJsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAudm1hZG1pbi1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC45KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44cztcbiAgICB6LWluZGV4OiAxMDAwMDA7IH1cbiAgICAudm1hZG1pbi1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzIC5hZG1pbi1idXR0b24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAudm1hZG1pbi1lZGl0b3IgKyBkaXYge1xuICAgIHotaW5kZXg6IDE7IH1cblxuLnByb3BlcnR5LWVkaXRvci10cmlnZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMTMnOyB9XG5cbi5jb250ZW50LWVkaXRvci10cmlnZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwNDQnOyB9XG5cbi5lZGl0b3Itc2F2ZS1idXR0b24uaW5saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwYzcnOyB9XG5cbi5lZGl0b3ItY2FuY2VsLWJ1dHRvbi5pbmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwZCc7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciAub2ZmLWNhbnZhcy1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vZmYtY2FudmFzLWhlYWRlciAub2ZmLWNhbnZhcy1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgaDIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciBwIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cblxuLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6ghlwiO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNFOTMzMzA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICNFOTMzMzA7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICBmb250LXNpemU6IDZweDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24uYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCeXCI7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIuY29tcG9uZW50LXJlYWR5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5yZXNwb25zaXZlLXRhYnMge1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAucmVzcG9uc2l2ZS10YWJzLmNvbXBvbmVudC1yZWFkeSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucmVzcG9uc2l2ZS10YWJzOmhhcygudGFicy52ZXJ0aWNhbCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIHtcbiAgICAgIG1hcmdpbjogNXB4IDAgMDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC50YWJzLXBhbmVsIHRhYmxlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IDEwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIsIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xuICAgICAgZ3JpZC1yb3c6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcbiAgICAgIGdyaWQtcm93OiAzOyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS10YWJzLnNlYXJjaC1yZXN1bHRzIC50YWJzLXRpdGxlIGEge1xuICAgICAgcGFkZGluZzogMThweCAzNXB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5zZWFyY2gtcmVzdWx0cyAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogNDVweCAwOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMuc2VhcmNoLXJlc3VsdHMgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEge1xuICAgICAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZS5pcy1hY3RpdmUgYTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZTpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAzcHggMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4ycywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUgYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAyMHB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUgYSAuZm91bmQtY291bnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCArIC50YWJzLWNvbnRlbnQge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCArIC50YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDMwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgcGFkZGluZzogMThweCA4MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSAuZm91bmQtY291bnQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnKSc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmJlZm9yZSwgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSAuZm91bmQtY291bnQ6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB0YWJsZSwgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUge1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwgdGFibGUgdHIgdGQsIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRyIHRkIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA1MHB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtY29udGVudCB7XG4gICAgZmxleDogMTsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj10cnVlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0cjpub3QoOmxhc3QtY2hpbGQpLFxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGQsXG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRkIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtY29udGVudCB1bCxcbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDEge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDE6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgyOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgyOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMjpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMjpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgyOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgyOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweCAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgzOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgzOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMzpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMzpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDU6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNjpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWcsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgKyBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgKyBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMCAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIC5jb2wtbGFiZWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5uby13cmFwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGFicy1wYW5lbCAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIsIC5hY2NvcmRpb24tY29udGVudCAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4udGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0ZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgLmNvbC1sYWJlbCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLm5vLXdyYXAsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLmRlc2NyaXB0aW9uLWNvbCwgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLnJlZmVyZW5jZS1jb2wsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAuZGVzY3JpcHRpb24tY29sLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLnJlZmVyZW5jZS1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYSAhaW1wb3J0YW50OyB9XG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhYnMudmVydGljYWwge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLuoIZcIjsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoJ5cIjtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiOyB9XG4gICAgLnRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLnRhYnMgLnRhYnMtdGl0bGUgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmFjY29yZGlvbi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3QgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5hY2NvcmRpb24ucGFuZWwtc3RhdGUtaW5kaWNhdG9yLWZpcnN0IC5hY2NvcmRpb24tdGl0bGUgLnRpdGxlIHtcbiAgICBvcmRlcjogMjsgfVxuICAuYWNjb3JkaW9uLnJhZGlvLWluZGljYXRvcnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+GklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5hY2NvcmRpb24ucmFkaW8taW5kaWNhdG9ycyAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgY29udGVudDogXCLvhpJcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiOyB9XG4gIC5hY2NvcmRpb24uc3VwcHJlc3MtdGl0bGUtc2luZ2xlLWNoaWxkIC5hY2NvcmRpb24taXRlbTpvbmx5LWNoaWxkIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFjY29yZGlvbi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQgLmFjY29yZGlvbi1pdGVtOm9ubHktY2hpbGQgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweDsgfVxuICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTdlN2M7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZSBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGE3ZTdjO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTpob3ZlciBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGI3YjY7IH1cbiAgICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZSBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZSBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4YjdiNjsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUgYTpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGUgYTpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBuby1kcm9wO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZS5kaXNhYmxlZCAudGl0bGUtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IC40OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIC50aXRsZS1pY29uIHtcbiAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSAuZm91bmQtY291bnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgb3JkZXI6IC0xOyB9XG4gIC5hY2NvcmRpb24gYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gIC5hY2NvcmRpb24gLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cbiAgICAuYWNjb3JkaW9uIC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6ghlwiO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4OyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA1MHB4OyB9IH1cblxuLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBmbGV4OiAxIDAgNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdHRhY2htZW50cy1jb250YWluZXIgdWwgbGkge1xuICAgICAgZmxleDogMSAwIDMzJTsgfSB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6YWN0aXZlIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhZtcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgIGNvbG9yOiAjZmY0NDBiO1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYnJvY2h1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAudXNlci1ndWlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Fm1wiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucGFydHMtZGlhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+FnFwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6IHJnYmEoMjMzLCA1MSwgNDgsIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAud29yZDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZG9jJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmRvY3gnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HglwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMyYjU3OWE7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucG93ZXJwb2ludDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScucHB0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4RcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiAjZDczODBiOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmV4Y2VsOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy54bHMnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScueGxzeCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eDXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5wZGY6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnBkZiddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eBXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmNzdjpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuY3N2J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvm51cIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDIzMywgNTEsIDQ4LCAwLjkpOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmltYWdlLWF0dGFjaG1lbnQ6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmpwZyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5wbmcnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZ2lmJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLndlYm0nXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICM5NTk1OTU7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAudmlkZW8tYXR0YWNobWVudDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScubW92J106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLm1wNCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eIXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC56aXA6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnppcCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eGXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogI2ZmNmYyMDsgfVxuXG4vKlxyXG4tLS0tLSBTdGlja3kgLS0tLS0tIFxyXG5TdGlja3kgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGJ1aWxkIG9udG9wIG9mIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9zdGlja3kuaHRtbC5cclxuXHJcbltJTVBPUlRBTlRdIC0gVGhpcyBDU1MgaXMgbm90IGZvciB0aGUgYmFza2V0IHN1bW1tYXJ5IG9yIHRoZSBoZWFkZXIgcGxlYXNlIHZpZXcgaGVhZGVyLnNjc3MgYW5kIGJhc2tldC5zY3NzIGZvciB0aGF0LlxyXG4qL1xuLnN0aWNreSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjZzOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjhzOyB9XG4gIC5zdGlja3kuZWxlbWVudC1ub3QtaW4tdmlld3BvcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbltkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0ge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0gLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuXG5bZGF0YS1heGlzLXN0aWNreV0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5bZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB1bCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICAgICAgZ2FwOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaSB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaSBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYnV0dG9uLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpvbmx5LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYnV0dG9uLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpvbmx5LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgICAgaGVpZ2h0OiAxMjhweDsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmFjdGl2ZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICNFOTMzMzA7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH0gfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLmRpc2FibGVkLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGFbZGlzYWJsZWRdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGFbZGlzYWJsZWRdIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG5cbi8qXHJcbi0tLS0tIExpc3QgU29ydGluZyBPcHRpb25zICAtLS0tLVxyXG4tIEhvbGRzIHRoZSBzdHlsZXMgZm9yIHRoZSBmb2xsb3dpbmc6IFxyXG4gIC0gUHJvZHVjdCBsaXN0KHMpXHJcbiAgLSBBY2NvdW50IGFyZWEgc29ydGluZyAoIGhpc3RvcmljYWwgdHJhbnNhY3Rpb25zLCBjYWxsIHN5c3RlbSwgb3JkZXJzIClcclxuLSBUaGUgZm9sbG93aW5nIGNvbXBvbmVudHMgd2lsbCBiZSBmb3VuZCBoZXJlOiBcclxuICAtIExpc3QgaXRlbSBjb3VudFxyXG4gIC0gU29ydCBieSBcclxuICAtIEZpbHRlcnMgdG9nZ2xlICggSWYgb3BlbmluZyBhIHBvcHVwIClcclxuICAtIFZpZXcgc3dpdGNoZXIgKCBHcmlkIG9yIFRhYmxlIClcclxuICAtIFBhZ2luYXRpb24gXHJcbiAgLSBJdGVtcyBwZXIgcGFnZS5cclxuKi9cbi5BWElTUmVzdWx0c0NvbnRhaW5lciAuY29udHJvbCAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jb250cm9sIC5sYWJlbCB7XG4gIHdpZHRoOiAxNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNvbnRyb2wgLmxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY29udHJvbCAubGFiZWwge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwYWRkaW5nOiA1cHggMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweCAxNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciA+IGRpdiwgLmxpc3Qtc29ydC1jb250YWluZXIgPiBkaXYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1vcHRpb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtb3B0aW9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1vcHRpb24ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvla1cIjtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOm5vdCg6b25seS1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gLmJ1dHRvbnMtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAxMnB4OyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuaXRlbS1jb3VudCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuYWN0aXZlLWZpbHRlci1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcbiAgICAgIHRvcDogLTZweDtcbiAgICAgIGxlZnQ6IDEwcHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5jb250cm9sLnNlYXJjaCB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgaW5wdXQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCArIGJ1dHRvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTNweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciB7XG4gICAgICBtYXgtd2lkdGg6IDQ5MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciBzZWxlY3QsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAudG9vbHRpcC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3Qge1xuICAgICAgICAgIHdpZHRoOiAyMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAyMTVweDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgMTBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCB7XG4gICAgICAgICAgZ2FwOiAwIDVweDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGxpLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGxpLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgbGkge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6aG92ZXIgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgIpcIjsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CLXCI7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciArIC5BWElTUGVyUGFnZUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyICsgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6bnRoLWNoaWxkKDIpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW46IDAgNXB4OyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6YWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMC4yNnB4IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZ2FwOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYSB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgcGFkZGluZzogMTAuMjZweCA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAucGFnaW5hdGlvbi1jb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLkFYSVNQYWdlTnVtYmVyaW5nLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLnBhZ2luYXRpb24tY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLkFYSVNQYWdlTnVtYmVyaW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIG9yZGVyOiA2OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAyMyU7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgbGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLkFYSVNQYWdlTnVtYmVyaW5nIGEsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhIHtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTAuMjZweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5BWElTUGFnZU51bWJlcmluZyBhOmhvdmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYTphY3RpdmUsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nIGEuc2VsZWN0ZWQsIC5BWElTUGFnZU51bWJlcmluZyBhLmFjdGl2ZSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuc2VsZWN0ZWQsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLkFYSVNQYWdlTnVtYmVyaW5nIGEuc2VsZWN0ZWQ6aG92ZXIsIC5BWElTUGFnZU51bWJlcmluZyBhLmFjdGl2ZTpob3ZlciwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuc2VsZWN0ZWQ6aG92ZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuQVhJU1BhZ2VOdW1iZXJpbmcgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAuQVhJU1BhZ2VOdW1iZXJpbmcgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciwgLnBhZ2luYXRpb24tY29udGFpbmVyIC5BWElTUGFnZU51bWJlckpvaW5lciwgLnBhZ2luYXRpb24tY29udGFpbmVyIC5wYWdpbmF0aW9uLW9wdGlvbi1qb2luZXIge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnBhZ2luYXRpb25MYWJlbCwgLnBhZ2luYXRpb24tbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi8qKlxyXG5cclxuLS0tLSBNYW5hZ2UgQ2FsbHMgLS0tLSBcclxuXHJcbi0gRm9ybWFsbHkga25vdyBhcyB0aGUgY2FsbCBwb3J0YWwgYmVmb3JlIGl0IGdvdCBlbWJlZGRlZCBpbiBleHByZXNzLCBtYW5hZ2UgY2FsbHMgaXMgYWNjb3VudCBmdW5jdGlvbmFsaXR5IHRoYXQgZGlzcGxheXMgY2FsbHMgaW4gYSBsaXN0IGluIGV4cHJlc3MuXHJcbi0gU3R5bGVzIGluY2x1ZGVkIGhlcmU6IFxyXG4gIC0gTGlzdCBmb3IgY2FsbCBsaXN0ICsgZXZlbnRzIGxpc3QuXHJcbiAgLSBFbnF1aXJ5IHN1bW1hcnkuXHJcbiAgLSBDYWxsIHJhdGluZyBmb250cy5cclxuICAtIFN0aWNreSBidXR0b25zIGljb25zLlxyXG4qKi9cbi5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC5sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgLnZhbHVlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiAuZW5xdWlyeS1oZWFkZXItaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciB1bCB7XG4gICAgICBnYXA6IDVweDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIucGFnZS12aWV3IHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lci5saXN0LXZpZXcge1xuICB3aWR0aDogMjIuNXB4O1xuICBoZWlnaHQ6IDIyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lci5saXN0LXZpZXcge1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAucmF0aW5nLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgLnJhdGluZy1pbmZvcm1hdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIGlucHV0IHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTAgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctY2Fubm90LXJhdGUuc3ZnXCIpO1xuICAgIG9wYWNpdHk6IC4xOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTAudW5yYXRlZCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy11bnJhdGVkLnN2Z1wiKTtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0xIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLXZlcnktYmFkLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0yIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWJhZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMyAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1hdmVyYWdlLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi00IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWdvb2Quc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTUgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctdmVyeS1nb29kLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAuaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIC5yYWRpbyB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IC4yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW86aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlIC5yYWRpbzphY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjc7IH1cblxuLmNhbGwtdXJnZW5jeS1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtdXJnZW5jeS1pY29uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLmxvdyB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1sb3cuc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24ubWVkaXVtIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LW1lZGl1bS5zdmcpOyB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5oaWdoIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LWhpZ2guc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24uY3JpdGljYWwge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktY3JpdGljYWwuc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMjIuNXB4O1xuICAgIGhlaWdodDogMjIuNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXVyZ2VuY3ktaW1hZ2UtdXJsKTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbjpiZWZvcmUge1xuICBmb250LXNpemU6IDI2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDMycHg7IH0gfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLWJhY2stdG8tbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6guVwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtcmVxdWVzdC1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC7XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1hZGQtaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLxcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLWNyZWF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gulwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbnRhYmxlLmNhbGwtdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZS5lbnF1aXJ5LXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUuZW5xdWlyeS10YWJsZSB7XG4gICAgICBtYXJnaW46IDIwcHggMDsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMnB4OyB9IH1cbiAgICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sIC5ub3RpZmljYXRpb24tY29udGVudCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQudW5yZWFkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnVucmVhZC1jb2wge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIHtcbiAgICB3aWR0aDogOTBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wgYSB7XG4gICAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmN1c3RvbWVyLW5hbWUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmN1c3RvbWVyLW5hbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY3VzdG9tZXItbmFtZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jdXN0b21lci1uYW1lLWNvbCB7XG4gICAgICB3aWR0aDogMTIlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGQuc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGU6aGFzKC5yYXRpbmctY29sKSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGQuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGU6aGFzKC5yYXRpbmctY29sKSAuc3ViamVjdC1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5zdWJqZWN0LWNvbCB7XG4gICAgd2lkdGg6IDU1JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sIGEsIHRhYmxlLmNhbGwtdGFibGUgLnN1YmplY3QtY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5zdWJqZWN0LWNvbCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgICAgICB3aWR0aDogMjMuNyU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnNlcnZpY2UtY29udHJhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc2VydmljZS1jb250cmFjdC1jb2wge1xuICAgICAgd2lkdGg6IDExLjUlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtY29udGFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLWNvbnRhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudXNlci1jb250YWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC51c2VyLWNvbnRhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudXNlci1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnVzZXItY29udGFjdC1jb2wge1xuICAgICAgd2lkdGg6IDEwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jcmVhdGVkLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jcmVhdGVkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNyZWF0ZWQtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY3JlYXRlZC1jb2wge1xuICAgICAgd2lkdGg6IDcuNyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5sYXN0LXVwZGF0ZWQsIHRhYmxlLmNhbGwtdGFibGUgdGgubGFzdC11cGRhdGVkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQubGFzdC11cGRhdGVkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgubGFzdC11cGRhdGVkIHtcbiAgICAgIHdpZHRoOiA3LjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQucmF0aW5nLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5yYXRpbmctY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucmF0aW5nLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnJhdGluZy1jb2wge1xuICAgICAgd2lkdGg6IDYlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudXJnZW5jeS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudXJnZW5jeS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC51cmdlbmN5LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnVyZ2VuY3ktY29sIHtcbiAgICAgIHdpZHRoOiA3JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQudHlwZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnR5cGUtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC50eXBlLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnR5cGUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgudHlwZS1jb2wge1xuICAgICAgICB3aWR0aDogNyU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnNvdXJjZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc291cmNlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnNvdXJjZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5zb3VyY2UtY29sIHtcbiAgICAgIHdpZHRoOiA3JTsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuZGF0YS10aW1lLWNvbCBwLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmRhdGUtdGltZS1jb2wgcCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wgcCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmRhdGUtdGltZS1jb2wgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuZGF0YS10aW1lLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuZGF0YS10aW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmRhdGUtdGltZS1jb2wge1xuICAgICAgd2lkdGg6IDE2JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5ub3Rlcy1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgubm90ZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQubm90ZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgubm90ZXMtY29sIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC50aW1lc3RhbXAtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnRpbWVzdGFtcC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50aW1lc3RhbXAtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGgudGltZXN0YW1wLWNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNoYW5nZXMtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNoYW5nZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2hhbmdlcy1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jaGFuZ2VzLWNvbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5wZW5kaW5nLWNoYW5nZXMtaW5mby1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5wZW5kaW5nLWNoYW5nZXMtaW5mby1jb2wge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIC5lbGxpcHNpcy10ZXh0OmhvdmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmVsbGlwc2lzLXRleHQ6aG92ZXIge1xuICAgIGxlZnQ6IC01cHg7IH1cbiAgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1ub3Rlcy1jb250YWluZXIsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1ub3Rlcy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlOyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAgIHRhYmxlLmNhbGwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpOmhvdmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdHIuY2FsbC1jbG9zZWQgdGQ6bm90KC5yYXRpbmctY29sKTpub3QoLnVucmVhZC1jb2wpOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmVucXVpcnktZmlsdGVycyBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwgc3Bhbi5jaGVja2JveCwgLmVucXVpcnktZmlsdGVycyBsYWJlbCBzcGFuLnJhZGlvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmVucXVpcnktZmlsdGVycyAubGFiZWwge1xuICB3aWR0aDogODAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmNhbGwtdHlwZS1pY29uIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDVweCAwO1xuICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXR5cGUtaWNvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jYWxsLXR5cGUtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjZGE3ZTdjOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5kZW1vIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5jYWxsLXR5cGUtaWNvbi5kZW1vOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jYWxsLXByaXZhY3k6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gsVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jYWxsLXR5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jbGFzc2lmaWNhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCgXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmNvbXBsZXRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCVXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmNvbnRhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gl1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250cmFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCaXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmNvbnRyYWN0LXR5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gmVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jcmVhdGVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKlcIjsgfVxuICAuY2FsbC10eXBlLWljb24uZGVmZXJyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gqFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5lc2NhbGF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoK9cIjsgfVxuICAuY2FsbC10eXBlLWljb24uaW1wYWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKpcIjsgfVxuICAuY2FsbC10eXBlLWljb24uaW5ib3VuZC1waG9uZS1jYWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJ9cIjsgfVxuICAuY2FsbC10eXBlLWljb24uaW5mb3JtYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKtcIjsgfVxuICAuY2FsbC10eXBlLWljb24ub3V0Ym91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCuXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnByaW9yaXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLBcIjsgfVxuICAuY2FsbC10eXBlLWljb24ucmVzcG9uc2libGl0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCyXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnNob3J0Y3V0LXNlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gs1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5zbGEtaW5jbHVzaW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLRcIjsgfVxuICAuY2FsbC10eXBlLWljb24uc3RhdHVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJtcIjsgfVxuICAuY2FsbC10eXBlLWljb24udW5kZWZlcnJlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qC3XCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnVyZ2VuY3k6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6guFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi53b3JrZmxvdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCdXCI7IH1cblxuLmNhbGwtc291cmNlLWljb24ge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2FsbC1zb3VyY2UtaWNvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jYWxsLXNvdXJjZS1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjZGE3ZTdjOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLmRlbW8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMHB4OyB9XG4gICAgLmNhbGwtc291cmNlLWljb24uZGVtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLnVzZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ah1wiOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLnBvcnRhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KsXCI7IH1cbiAgLmNhbGwtc291cmNlLWljb24uZW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG5cbi50YWJsZS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLypcclxuLS0tLS0gQmFjayB0byB0b3AgLS0tLS0tIFxyXG5UaGlzIGlzIHRoZSBidXR0b24gdGhhdCBhcHBlYXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZSB0aGF0IHRha2VzIHlvdSBiYWNrIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxyXG4qL1xuLmJhY2stdG9wLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGJvdHRvbTogNzBweDtcbiAgei1pbmRleDogMTUwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhY2stdG9wLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgYm90dG9tOiA5MHB4OyB9IH1cblxuLmJhY2stdG9wLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCGXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNFOTMzMzA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYmFjay10b3AtYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDsgfSB9XG4gIC5iYWNrLXRvcC1idXR0b246aG92ZXIsIC5iYWNrLXRvcC1idXR0b246aG92ZXIuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIC5iYWNrLXRvcC1idXR0b246aG92ZXI6YmVmb3JlLCAuYmFjay10b3AtYnV0dG9uOmhvdmVyLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI0U5MzMzMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YWN0aXZlOmJlZm9yZSwgLmJhY2stdG9wLWJ1dHRvbjphY3RpdmU6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNmYyMDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZjZmMjA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IC43OyB9XG5cbi8qXHJcbi0tLS0tIFNlY3Rpb25zIC0tLS0tIFxyXG5BeGlzIHRvZ2dsZXIgaXMgYnVpbGQgb24gdG9wIG9mIEZvdW5kYXRpb24ncyBUb2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwgYW5kIGlzIHNpbWlsYXIgdG8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL2FjY29yZGlvbi5odG1sIGJ1dCBzb21ldGltZXMgaXQgaXMgbm90IHBvc3NpYmxlIGNvbnZlbmllbnQgdG8gYnVpbGQgdGhlIHNlY3Rpb24ocykgaW4gPHVsPiBvciBpbiBkZXNrdG9wIHlvdSByZXF1aXJlIHRoZSBsYXlvdXQgdG8gYmUgY29tcGxldGVseSBkaWZmZXJlbnQgdG8gbW9iaWxlLlxyXG4qL1xuLmF4aXMtc2VjdGlvbiB7XG4gIG1hcmdpbjogMDsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCLuoIZcIjsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAuYXhpcy1zZWN0aW9uLmFjdGl2ZSAuYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5heGlzLXNlY3Rpb24ucmV2ZWFsLWVuYWJsZWQ6bm90KC5hY3RpdmUpIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OyB9XG4gICAgLmF4aXMtc2VjdGlvbi5yZXZlYWwtZW5hYmxlZDpub3QoLmFjdGl2ZSkgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAwLjZzLCBwYWRkaW5nLWJvdHRvbSAwLjZzOyB9XG4gIC5heGlzLXNlY3Rpb24uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmF4aXMtc2VjdGlvbi5kaXNhYmxlZCAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYXhpcy1zZWN0aW9uLmRpc2FibGVkIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4uYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5heGlzLXNlY3Rpb24tY29udGVudCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIC5heGlzLXNlY3Rpb24tY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuXHJcbi0tLS0tIEVsbGlwc2lzIC0tLS0tIFxyXG5XaGVuIHRoZSBjb250ZW50IGlzIHRvbyBsb25nZXIgdG8gZml4IHdpdGhpbiBhIHRhYmxlIGNlbGwgKCBmb3IgZXhhbXBsZSApIGFsbG93IHRoZSB1c2VyIHRvIHNob3cgb3ZlcmZsb3dpbmcgdGV4dCBieSBob3ZlcmluZy5cclxuXHJcbklNUE9SVEFOVDogVGhpcyBvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGxpbmVzIG9mIHRleHQsIG11bHRpLWxpbmUgeW91IHdpbGwgbmVlZCB0byBsb29rIGludG8gLS13ZWJraXQtbGluZS1jbGFtcC5cclxuKi9cbi5lbGxpcHNpcy10ZXh0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZWxsaXBzaXMtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVsbGlwc2lzLXRleHQge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlIHtcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWxsaXBzaXMtdGV4dC5lbGxpcHNpcy1hY3RpdmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKlxyXG4tLS0tLSBCbHVyIC0tLS0tLSBcclxuVGhlIGVmZmVjdCB0aGF0IGdldHMgYXBwbGllZCB0aGUgaGVhZGVyLCBtYWluICYgZm9vdGVyIHdoZW4gYSBtb2RhbCBvciBtZW51IGlzIG9wZW4sIGVzc2VudGlhbGx5IGJsdXIncyBvdXQgdGhlIGNvbnRlbnQgaW4gdGhlIGJhY2tncm91bmQgd2hlbiBzb21ldGhpbmcgaXMgb3ZlcmxheWluZyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cclxuKi9cbi5ibHVyIHtcbiAgLS1kZWZ1c2UtYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIC4zcyBmb3J3YXJkcztcbiAgZmlsdGVyOiBibHVyKDEwcHgpO1xuICBhbmltYXRpb246IGJsdXIgMC42czsgfVxuICAuYmx1ci5kZWZ1c2Uge1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICBhbmltYXRpb246IGRlZnVzZUJsdXIgMC4zczsgfVxuXG5Aa2V5ZnJhbWVzIGRlZnVzZUJsdXIge1xuICAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDEwcHgpOyB9XG4gIDIwJSB7XG4gICAgZmlsdGVyOiBibHVyKDhweCk7IH1cbiAgNDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoNnB4KTsgfVxuICA2MCUge1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gIDgwJSB7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7IH1cbiAgMTAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH0gfVxuXG4jcGFnZU92ZXJsYXksIC5ibHVyLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjE7IH1cblxuLypcclxuXHJcbi0tLS0gU3RhdGljIC0tLS0gXHJcbkRlZGljYXRlZCBzcGVjaWZpY2FsbHkgdG93YXJkcyB0aGUgbGFuZGluZyBwYWdlIGZvciB0aGUgc3RhdGljIGxhbmRpbmcgcGFnZSBmb3IgZXhwcmVzcy5cclxuXHJcbiovXG4ubW9kdWxlcy10ZXN0LXBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ4NDg0ODsgfVxuXG4ucm93LWJhY2tncm91bmQuZ3JpZC1jb250YWluZXIgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICB0b3A6IDM2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC1jb250YWluZXIgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICAgIHRvcDogMDsgfSB9XG5cbi5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwucm93LWNvbnRyb2xzIHtcbiAgICB0b3A6IDA7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICAgIHRvcDogNTBweDsgfVxuXG4ubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBvcGFjaXR5OiAwLjU7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnM6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTkzMzMwOyB9XG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uLm1vZHVsZS1pbmZvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMTI5JzsgfVxuXG4ubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDMyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTAwcHg7IH0gfVxuICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAubW9kdWxlcy1pbmZvLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5nZW5lcmFsLWluZm9ybWF0aW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRTkzMzMwOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHVsIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNCwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDUsIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg0LCAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZyB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHN0cm9uZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLypcclxuXHJcbi0tLS0gU3RvY2tpc3QgLS0tLSBcclxuU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RvY2tpc2ggY29tcG9uZW50OiBcclxuLSBTb3J0aW5nIGFyZWFcclxuLSBTZWFyY2ggcmVzdWx0cyBcclxuLSBJbnRlcmFjdGl2ZSBtYXBcclxuXHJcbiovXG4uaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24gLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zb3J0aW5nLW9wdGlvbiAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgICAgd2lkdGg6IDI5MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIgLmxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjZWM5MDhlOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogN3B4IDAgMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5zZXBhcmF0b3Ige1xuICAgICAgICBtYXJnaW46IDAgMjVweDsgfSB9XG5cbi5zdG9ja2lzdC1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NraXN0LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NraXN0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH0gfVxuXG4uaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4OyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgbGkge1xuICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLmhlYWRlci1jb250YWluZXIgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjM0Mzc1cmVtOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC50ZWxlcGhvbmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuYWRkcmVzcyArIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAudGVsZXBob25lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdHMtY29udGFpbmVyIC50ZWxlcGhvbmUgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4ud2Vic2l0ZS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCA0MHB4IDAgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgNXB4IDMwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53ZWJzaXRlLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLndlYnNpdGUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAud2Vic2l0ZS1idXR0b246aG92ZXIsIC53ZWJzaXRlLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLndlYnNpdGUtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC53ZWJzaXRlLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLndlYnNpdGUtYnV0dG9uOmFjdGl2ZSwgLndlYnNpdGUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmRpc2FibGVkLCAud2Vic2l0ZS1idXR0b24uZGlzYWJsZWQsIC53ZWJzaXRlLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAud2Vic2l0ZS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC53ZWJzaXRlLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAud2Vic2l0ZS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvj4VcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICNkOGI3YjY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cblxuLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiA2MHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuXG4uaW50ZXJhY3RpdmUtbWFwIHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgLmludGVyYWN0aXZlLW1hcDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLm9yZ2FuaXNhdGlvbi1jb250YWluZXIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uaW50ZXJhY3RpdmUtbWFwLW5vLXJlc3VsdHMge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaW5mby13aW5kb3ctYWRkcmVzcy10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYWRkcmVzcywgLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC50ZWxlcGhvbmUge1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLmluZm8td2luZG93LWFkZHJlc3MgYSwgLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC50ZWxlcGhvbmUgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLmluZm8td2luZG93LWJ1dHRvbi1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi8qXHJcbi0tLS0tIFRyZWUgTWVudSAtLS0tLVxyXG5cclxuKi9cbi50cmVlLW1lbnUgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnRyZWUtbWVudSB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnRyZWUtbWVudSB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50cmVlLW1lbnUgdWwgbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnRyZWUtbWVudSB1bCBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoIZcIjtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLnRyZWUtbWVudSB1bCBsYWJlbCAubGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLnRyZWUtbWVudSB1bCBsYWJlbC5hY3RpdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnlwiOyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwuYWN0aXZlIH4gLm5vZGUtY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnMsIGhlaWdodCAwLjZzOyB9XG5cbi50cmVlLW1lbnUgPiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IGxhYmVsIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA2LjY2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IGxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiBsYWJlbCAubGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGk6bm90KC50cmVlLW1lbnUtcGFyZW50KSAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGk6bm90KC50cmVlLW1lbnUtcGFyZW50KSAubm9kZS1jb250ZW50LWNvbnRhaW5lciAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfSB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSBsYWJlbCAubGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggNzBweDsgfSB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRvcDogMjIuNXB4O1xuICAgICAgbGVmdDogMTYuNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpLmFjdGl2ZTphZnRlciB7XG4gICAgICAgICAgdG9wOiAzMi41cHg7XG4gICAgICAgICAgbGVmdDogODEuNXB4OyB9IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxMS41cHg7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQgPiBsaTpub3QoOmxhc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOmxhc3QtY2hpbGQgPiBsaTpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAxN3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bGFzdC1jaGlsZCA+IGxpOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAwIDAgMjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDQ1cHg7IH0gfVxuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMTEuNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpOmFmdGVyIHtcbiAgICAgICAgdG9wOiAyMi41cHg7XG4gICAgICAgIGxlZnQ6IDM2LjVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMzIuNXB4O1xuICAgICAgICAgICAgbGVmdDogNTYuNXB4OyB9IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaS5hY3RpdmU6bm90KDpsYXN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSBsYWJlbCAubGFiZWwge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTMzLjVweDsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgLnRyZWUtbWVudS1wYXJlbnQuYWN0aXZlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCB1bCAudHJlZS1tZW51LXBhcmVudCA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMjVweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgdWwgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCB1bCAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDVweDsgfSB9XG4gIC50cmVlLW1lbnUgPiB1bCB1bCB1bCBsaSBsYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDMyLjVweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNS41cHg7XG4gICAgbGVmdDogMTIuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyZWUtbWVudS5hc3NldHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC50cmVlLW1lbnUuYXNzZXRzID4gdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLnRyZWUtbWVudS5hc3NldHMgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhN2U3YzsgfVxuXG4udHJlZS1tZW51IC5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi50cmVlLW1lbnUgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRyZWUtbWVudSAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlID4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUsIC50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAubGFiZWwge1xuICBjb2xvcjogI2IyMGMwYztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRyZWUtbWVudSAuYWxlcnQtbm9kZSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIgLmFsZXJ0LXZhbHVlIC52YWx1ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb24gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIycHg7IH0gfVxuXG4udHJlZS1tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNXB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRyZWUtbWVudS1oZWFkZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1tZW51LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtaW5mb3JtYXRpb24uYWxlcnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uLmFsZXJ0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG5cbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjRTkzMzMwOyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLuoIZcIjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRTkzMzMwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgIGZvbnQtc2l6ZTogNnB4OyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZS5hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCeXCI7IH1cblxuLypcclxuLS0tLS0gUmV2aWV3cyAtLS0tLSBcclxuLSBIYW5kbGVzIGludGVyZmFjaW5nIHdpdGggdGhpcmQtcGFydHkgcmV2aWV3IGFwaSdzIGxpa2UgZmVlZm8uXHJcbiovXG4ucmF0aW5nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnJhdGluZy1jb250YWluZXIgLnJldmlldy1zdGFycyB7XG4gICAgbWFyZ2luOiAwIDEwcHggMDsgfVxuICAgIC5yYXRpbmctY29udGFpbmVyIC5yZXZpZXctc3RhcnMgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAucmF0aW5nLWNvbnRhaW5lciAuc3Rhci1mdWxsLCAucmF0aW5nLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5yYXRpbmctY29udGFpbmVyIC5zdGFyLWZ1bGw6YmVmb3JlLCAucmF0aW5nLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uXTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIVcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICNlNWI3MDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXctZGV0YWlscy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmRpc3BsYXktbmFtZS1jb250YWluZXIge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciArIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJy0nO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1sb2NhdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGlzdC1jb3VudC1jb250YWluZXIge1xuICBjb2xvcjogIzk1OTU5NTsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGlzdC1jb3VudC1jb250YWluZXIgLmN1cnJlbnQtc2hvd2luZy1jb3VudCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wYWdlci1jb250YWluZXIgKyAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAuc2VydmljZS1wcm92aWRlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAuZmVlZm8tbG9nbyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZmVlZm8tbG9nby5wbmdcIik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5yZXZpZXdzLXByb2R1Y3QtcmV2aWV3LWFsbC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4ucmV2aWV3LXNvY2lhbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5yZXZpZXctc29jaWFsLWNvbnRhaW5lciAuaGVscGZ1bC12b3Rlcy1jb250YWluZXIgKyAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciAuaGVscGZ1bC12b3Rlcy1kaXNwbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhaRcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgU2VjdGlvbiBDb2xvdXJzIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQtY29sb3VycyB0byBzcGVjaWZpYyBzZWN0aW9ucyBvbiBzcGVjaWZpYyBwYWdlcyBhY3Jvc3MgZXhwcmVzcyB1c2luZyB0aGUgYm9keSBpZCwgc28gYSBwb3RlbnRpYWwgY29uZmlnIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxyXG5cclxuaGVhZGVyLXVzcC1iYXI6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xLFxyXG4gICAgcGFnZXM6IChcImhvbWVwYWdlXCIpXHJcbilcclxuXHJcblRoZSB0b3AgbGV2ZWwgbWFwIGtleSBpcyB0aGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQgdGhhdCB5b3Ugd2FudCB0byBlZmZlY3QgdGhlbiBpbnNpZGUgb2YgdGhhdCBpcyB0aGUgY29uZmlndXJhdGlvbiBpLmUgYmFja2dyb3VuZCBjb2xvdXIgKyB3aGljaCBwYWdlcyB0byBhcHBseSB0aGlzIHRvIHdoaWNoIGlzIGEgbGlzdCBvZiBib2R5IGlkJ3MuXHJcbiovXG4vKlxyXG5cclxuLS0tLSBTdGFyIFJhdGluZ3MgLS0tLSBcclxuSGFuZGxlcyBzdGFyIHJhdGluZ3MgZm9yIHByb2R1Y3RzLCB0aGlzIHN1cHBvcnRzIHBlcnNlbnRhZ2UgYmFzZWQgcmF0aW5nLCBoZXJlIGlzIGFuIG92ZXJ2aWV3IG9mIHdoYXQgdGhpcyB3b3VsZCBsb29rIGxpa2UgaHR0cHM6Ly9jb2RlcGVuLmlvL2ZpbGNwL3Blbi9RdlpWT2cgLlxyXG5cclxuKi9cbi5zdGFyLXJhdGluZ3MtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CFXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXN0YXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAuYmFja2dyb3VuZC1zdGFycyBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5mb3JlZ3JvdW5kLXN0YXJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5mb3JlZ3JvdW5kLXN0YXJzIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlNWI3MDE7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDsgfVxuICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwcHg7IH1cbiAgICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZTViNzAxO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTBweDsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAucGVyY2VudGFnZS1iYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuYmFja2dyb3VuZC1iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5iYWNrZ3JvdW5kLWJhciAucGVyY2VudGFnZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuZm9yZWdyb3VuZC1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5mb3JlZ3JvdW5kLWJhciAucGVyY2VudGFnZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTsgfVxuXG4uYnJlYWtkb3duLWNvdW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMHB4OyB9XG5cbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi8qXHJcbi0tLS0tIEJhcmNvZGUgU2Nhbm5lciAtLS0tLS0gXHJcblxyXG4qL1xuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgd29yZC1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXI6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5ob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWN0aXZlLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgIGJvcmRlci1jb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmRpc2FibGVkLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uZGlzYWJsZWQsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuNyk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmFmdGVyLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b25bZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjE4LCAyMTgsIDIxOCwgMC43KTsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLuoY1cIjtcbiAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4uYmFyY29kZS1zY2FubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXIgdmlkZW8ge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYmFyY29kZS1zY2FubmVyIGNhbnZhcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuYmFyY29kZS1zY2FubmVyLmlzLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDQ5MHB4O1xuICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfSB9XG4gIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MXB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMzMwcHg7IH0gfVxuICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLmJhcmNvZGUtc2Nhbm5lci1yZXNwb25zZS1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cblxuLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIEltYWdlIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQgaW1hZ2UocykgdG8gc3BlY2lmaWMgcGFnZSB0eXBlcyB1c2luZyB0aGUgYm9keSBpZCwgcG9zc2libGUgY29uZmlndXJhdGlvbjpcclxuXHJcbmhvbWVwYWdlOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlID0+IFsgUkVRVUlSRUQgXSBUaGUgdXJsIG9mIHRoZSBpbWFnZS5cclxuICAgIHJlcGVhdC1iYWNrZ3JvdW5kID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIG5vLXJlcGVhdC5cclxuICAgIGJhY2tncm91bmQtc2NhbGUgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gY292ZXIuXHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnRzID0+IFsgT1BUSU9OQUwgXVxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbiA9PiBbIE9QVElPTkFMIF1cclxuKVxyXG5cclxuKi9cbi8qXHJcbi0tLS0tIFRhZ3MgLS0tLS1cclxuVXNlZCB0byBkaXNwbGF5IGEgY2F0YWdvcmlzYXRpb24gb2YgZ3JvdXBzIC8ga2V5d29yZHMsIHRoaXMgaWEgcHJpbWFyaWx5IHVzZWQgaW4gdGhlIGNtcyBzeXN0ZW0gY3VycmVudGx5IGZvciBkaXBsc2F5IG5ld3MsIGJsb2dzICYgZXZlbnQncyBhcnRpY2xlcy5cclxuKi9cbi50YWdnaW5nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyLmFsaWduLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGFnZ2luZy1jb250YWluZXIubGlzdGluZyAudGFnZ2luZy1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdzLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZ3MtY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gIC50YWdnaW5nLWNvbnRhaW5lciAudGFnZ2luZy1oZWFkZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdnaW5nLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcGFkZGluZzogOHB4IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42cywgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTphY3RpdmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ucmVtb3ZlLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ucmVtb3ZlLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmNmYyMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtLnJlbW92ZS1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi8qXHJcbi0tLS0tIEF4aXMgVG9nZ2xlciAtLS0tLVxyXG5CdWlsZCBvbnRvcCBvZiBGb3VuZGF0aW9ucyB0b2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwsIHdlIG5lZWRlZCB0byBhZGQgaW4gc29tZSBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgZm9yIHJlLXRvZ2dsaW5nIGlmIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50IGFyZWEuXHJcbiovXG4udG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjdGl2ZSAudG9nZ2xlLWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBDb2xvdXJzIC0tLS0tXHJcblNpbWlsYXIgdG8gYXhpcy1zZWN0aW9uLWNvbG91cnMgYSBjdXN0b20gY29uZmlnIGlzIHByb3ZpZGUgd2hpY2ggZ2V0cyBsb29wZWQgdGhyb3VnaCBhc3NpZ25pbmcgdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgdG8gdGhlIHJlbGlldmVudCBwYWdlcy5cclxuXHJcbk5PVElDRTogSGFkIHRvIHNldCB0aGUgIWltcG9ydGFudCBmbGFnIG9uIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IGR1ZSB0byBmb3VuZGF0aW9uIGVuZm9yaW5nIHRoYXQgdGhlIGJvZHkgYmFja2dyb3VuZCBjb2xvdXIgbXVzdCBiZSBzZXQuXHJcbiovXG4vKlxyXG4tLS0tLSBNdWx0aSBGaWVsZCBMb29rdXAgLS0tLS1cclxuXHJcblByb3ZpZGVzIGFuIGFyZWEgdG8gcGxhY2Ugb3B0aW9ucyAoIGkuZSBhIGZvcm0gaW4gYSBob3Jpem9udGFsIGxheW91dCApIHdoaWNoIHRoZW4gZ2V0cyBmaWxsZWQgaW4gdG8gdXBkYXRlIG11bHRpcGxlIHBvaW50cyBvbiB0aGUgcGFnZS5cclxuXHJcbiovXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYTdlN2M7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmJhcmNvZGUtc2Nhbm5lci10cmlnZ2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxOyB9IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICBib3JkZXItY29sb3I6ICNhMGEwYTA7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuY29udHJvbC5zZWFyY2ggLmlucHV0LXByZWZpeC1pY29uIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmNvbnRyb2wuc2VhcmNoIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgY29sb3I6ICNFOTMzMzA7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweDsgfSB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIGZvcm0gLmxvb2t1cC1vcHRpb24ubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCAuZm9ybS1lcnJvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7IH0gfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAgLm11bHRpLWZpZWxkLXJlc3BvbnNlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLyohXG4gKiBhbmltYXRlLmNzcyAtIGh0dHBzOi8vYW5pbWF0ZS5zdHlsZS9cbiAqIFZlcnNpb24gLSA0LjEuMVxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMCBBbmltYXRlLmNzc1xuICovXG46cm9vdCB7XG4gIC0tYW5pbWF0ZS1kdXJhdGlvbjogMXM7XG4gIC0tYW5pbWF0ZS1kZWxheTogMXM7XG4gIC0tYW5pbWF0ZS1yZXBlYXQ6IDE7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9faW5maW5pdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0yIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0xcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpO1xuICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWFuaW1hdGUtZGVsYXkpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktM3Mge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTRzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdGVyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjgpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuOCk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTsgfVxuXG5AbWVkaWEgcHJpbnQsIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsgfVxuICAuYW5pbWF0ZV9fYW5pbWF0ZWRbY2xhc3MqPSdPdXQnXSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qIEF0dGVudGlvbiBzZWVrZXJzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3B1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsgfVxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3J1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NoYWtlWCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NoYWtlWSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7IH1cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpOyB9XG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7IH1cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTsgfVxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7IH1cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsgfVxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uYW5pbWF0ZV9faGVhZFNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYWRTaGFrZTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7IH0gfVxuXG4uYW5pbWF0ZV9fc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fdGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fd29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7IH1cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7IH1cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsgfVxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7IH1cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOyB9XG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOyB9XG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7IH1cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpOyB9XG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7IH0gfVxuXG4uYW5pbWF0ZV9famVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7IH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLmFuaW1hdGVfX2hlYXJ0QmVhdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG5cbi8qIEJhY2sgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja0luRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luVXA7IH1cblxuLyogQmFjayBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFVwOyB9XG5cbi8qIEJvdW5jaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCkgc2NhbGVZKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyB9XG5cbi8qIEJvdW5jaW5nIGV4aXRzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpOyB9XG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7IH1cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuLyogRmFkaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Ub3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Ub3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7IH1cblxuLyogRmFkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRVcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0Qm90dG9tTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7IH1cblxuLyogRmxpcHBlcnMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5hbmltYXRlX19mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcEluWSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mbGlwT3V0WSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsgfVxuXG4vKiBMaWdodHNwZWVkICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKiBSb3RhdGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbi8qIFJvdGF0aW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG4vKiBTcGVjaWFscyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2hpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYW5pbWF0ZV9famFja0luVGhlQm94IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94OyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3JvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjsgfVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsgfSB9XG5cbi5hbmltYXRlX19yb2xsT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7IH1cblxuLyogWm9vbWluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX196b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7IH1cblxuLyogWm9vbWluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3pvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cblxuLyogU2xpZGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsgfVxuXG4vKiBTbGlkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7IH1cblxuLypcclxuXHJcbi0tLS0tIEF4aXMgRWxlbWVudCBQcmludCAtLS0tLSBcclxuQWxsb3dzIHlvdSB0byBzZWxlY3QgYW4gZWxlbWVudCB0byBiZSBwcmludGVkIGluc2lkZSBvZiB0aGUgRE9NLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIGdlbmVyYWwgZm9ybWF0dGluZyBvZiB0ZXh0IHdoZW4gaW4gcHJpbnQgdmlldyBhbmQgd2hpY2ggZWxlbWVudCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciB0aGVtIHRvIGJlIHRoZXJlLlxyXG5cclxuKi9cbkBtZWRpYSBwcmludCB7XG4gIC5wZS1uby1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wZS1wcmVzZXJ2ZS1hbmNlc3RvciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIFtkYXRhLWF4aXMtc3RpY2t5XSwgW2RhdGEtc3RpY2t5LWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZW5xdWlyeS1maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jYWxsLXR5cGUtaWNvbiwgLmNhbGwtc291cmNlLWljb24ge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpOyB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIGgyIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUgdHIge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWUgIWltcG9ydGFudDsgfVxuICB0YWJsZSB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyLCAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudCwgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBvdmVyZmxvdy15OiB1bnNldCAhaW1wb3J0YW50OyB9IH1cblxuLypcclxuLS0tLS0gRG9jdW1lbnRhdGlvbiAtLS0tLS0gXHJcblNwZWNpZmljYWxseSBoYW5kbGVzIHRoZSBzdHlsaW5nIGZvciBBWElTIERvY3VtZW50YXRpb24sIHRoZXJlIHdpbGwgYmUgc2ltaWxhcml0aWVzIGJldHdlZW4gdGhpcyBjb2RlIGFuZCBjbXMgY29udGFpbmVycy5cclxuXHJcblRoaXMgZGVhbHMgd2l0aCB0aGUgZm9sbG93aW5nIHBhZ2UgdHlwZXM6XHJcbi0tIFByb2R1Y3RzXHJcbi0tLS0gQm9va3NcclxuLS0tLS0tIENoYXB0ZXJzXHJcbi0tLS0tLS0tIEFydGljbGVzXHJcbi0tLS0tLS0tIEZ1bmN0aW9uc1xyXG4tLS0tLS0tLS0tIEFydGljbGVcclxuKi9cbi5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBnYXA6IDA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLnNlYXJjaC16b25lIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLXpvbmUgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLXpvbmUgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gge1xuICAgICAgICAgIG1pbi13aWR0aDogNDIwcHg7IH0gfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoIC5mb3JtLWVycm9yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2ggaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNTc1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSBsYWJlbCB7XG4gICAgICAgIG1heC13aWR0aDogNTc1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4OyB9IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5kZXBhcnRtZW50LWNvbG91ci1wYWxldHRlIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5zaXRlLXN0eWxlIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI0U5MzMzMCk7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciArIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwuc3RyaXBlcyA+IGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDAgNXB4O1xuICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBsaSAuY29udGV4dC1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwOyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGEge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgYTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICNmZjZmMjApO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5pbmRleCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiA1NnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSB7XG4gICAgbWFyZ2luOiAzNXB4IDAgNDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEge1xuICAgICAgICBtYXJnaW46IDQ1cHggMCA1NXB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgI0U5MzMzMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTU5NTk1OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjOTU5NTk1O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgxLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDMwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcbiAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTkpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogODBweDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgNDBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDEsIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiB7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICNFOTMzMzApO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5jb250ZW50LWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleDogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmJhbm5lci1jb250YWluZXIgLmltYWdlLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmJhbm5lci1jb250YWluZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmJhbm5lci1jb250YWluZXIgLmltYWdlIGltZywgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5iYW5uZXItY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAyNDVweDsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgdWwge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGdhcDogNXB4IDI1cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHVsIGxpIHtcbiAgICBmbGV4OiBub25lOyB9XG5cbi5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQge1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogI2VjOTA4ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gICAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjZmMjA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6YWN0aXZlIHtcbiAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50LnByaW50ZXItbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CvXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudC5kb2N1bWVudGF0aW9uLXB1YmxpYy1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgqxcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50LmRvY3VtZW50YXRpb24tc3RhdGlzdGljczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7pGzXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDEge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMSArIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgxICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiAjRTkzMzMwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgzIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGg0LCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGg1IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoNiwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDYsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLXJ1bGUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQtcnVsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIuaW5kZW50ZWQtcnVsZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuaW5kZW50ZWQtcnVsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZDogI2FlYWVhZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTU5NTk1OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItZm9vdGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tZm9vdGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk1OTU5NTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxNXB4O1xuICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgbGluZS1oZWlnaHQ6IC44O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vXCJdIHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUge1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAwIDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5NTk1OTU7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk1OTU5NTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIHBhZGRpbmcgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg4VcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMC42czsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCB1bCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDAgMjVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgbGkge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Uge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbjogMTBweCBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmVbY2xhc3MqPVwiaW1hZ2Utc3R5bGUtYmxvY2tcIl0ge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUgaW1nIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGgxLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGg0LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDUsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoNiwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIHAsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBsaSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHksIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBhLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgdGFibGUgdGhlYWQgdGgsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDEsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoMywgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDQsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGg1LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoNiwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgcCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgbGksIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHksIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGEsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHRhYmxlIHRoZWFkIHRoLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSB0YWJsZSB0Ym9keSB0ZCB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApOyB9XG5cbi5kb2N1bWVudGF0aW9uLW5vdC1wdWJsaXNoZWQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxudWwuZnVuY3Rpb25zLWxpc3Q6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGxpOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XG4gIHBhZGRpbmctbGVmdDogNDVweDsgfVxuXG51bC5mdW5jdGlvbnMtbGlzdDpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpIHVsLm1lbnU6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGxpOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XG4gIHBhZGRpbmctbGVmdDogNDVweDsgfVxuXG4ubWVudS5mdW5jdGlvbnMtbGlzdCB7XG4gIC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICB3aWR0aDogMTAwJTsgfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDsgfSB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0ID4gbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkgPiBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgI2ZmNmYyMCk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpob3ZlciA+IGEsIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhvdmVyID4gYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICNmZjZmMjApOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleDogMTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDA7XG4gICAgICBvcmRlcjogMjsgfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhICsgYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gYSArIGJ1dHRvbjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhICsgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgI2ZmNmYyMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIGxpIGEge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCBsaSBhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCAuaW5kZXgge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICBmbGV4OiAxOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCA+IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCBsaSB7XG4gIHBhZGRpbmc6IDEwcHggNXB4OyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwgbGkgYSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1zbmlwcGV0LWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4uc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgdWwge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAgIC5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbiB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmV2aXNpb24tY291bnQtY29udGFpbmVyLnNlcGVyYXRvciBzcGFuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4ucmV2aXNpb24tY291bnQtY29udGFpbmVyIHNwYW4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnJldmlzaW9uLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cblxuLnRlY2huaWNhbC1kb2N1bWVudGF0aW9uLWxpc3QtY29udGFpbmVyOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG5cbi5kb2N1bWVudGF0aW9uLWRlbW8tbGluay1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuXG4uaW5zcGVjdC1wcm9tcHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmV4cHJlc3MtY29uZmlndXJhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIC5leHByZXNzLWNvbmZpZ3VyYXRpb24gLmNvbmZpZ3VyYXRpb24tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiAuY29uZmlndXJhdGlvbi1zZWN0aW9uIC5heGlzLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuY29uZmlndXJhdGlvbi1pbnRyb2R1Y3Rpb24tY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuXG4udGVjaG5pY2FsLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRlY2huaWNhbC1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC50ZWNobmljYWwtbGlzdCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgLnRlY2huaWNhbC1saXN0IC5oZWFkZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC50ZWNobmljYWwtbGlzdCAuc3RhdGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tc3RhdGUtY29sb3VyKTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5zdGF0ZS5hY3RpdmUge1xuICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC50ZWNobmljYWwtbGlzdCAuc3RhdGUuZGlzYWJsZWQge1xuICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgLS1zdGF0ZS1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAudGVjaG5pY2FsLWxpc3QgLmtleS12YWx1ZS1wYWlyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4OyB9XG4gICAgLnRlY2huaWNhbC1saXN0IC5rZXktdmFsdWUtcGFpciAubmFtZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5uZXV0cmFsaXNlZC1pdGVtcyB7XG4gIG1hcmdpbjogMTBweCAwIDIwcHg7IH1cbiAgLm5ldXRyYWxpc2VkLWl0ZW1zIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC5uYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC5uYW1lOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIj0+XCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNik7IH1cbiAgLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkgLnZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKlxyXG4tLS0tLSBDb250ZXh0IE1lbnUgLS0tLS0tIFxyXG5Fc3NlbnRpYWxseSBhIHRvb2xiYXIgLyB0b29sYm94IG1lbnVcclxuKi9cbi5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB6LWluZGV4OiAxOTk1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lci5hY3RpdmUsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyLmlzLWNsb3Npbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgei1pbmRleDogMTk5NjsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgdWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSB1bCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42czsgfSB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgdWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC44czsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5zdGF0ZS1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuc3RhdGUtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciwgLmNvbnRleHQtbWVudS1jb250YWluZXIgLnN0YXRlLW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLmVkaXQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5lZGl0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6aG92ZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuZWRpdC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XG4gICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA0NXB4OyB9XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIC5tZW51LW9wdGlvbi1sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWljb24tY29sb3VyKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbCAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi75e9XCI7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4OyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMCB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMiB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xuICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS0zLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbC5zdGF0ZS12YWx1ZS00IHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHVibGlzaGVkIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ck1wiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQuc3RhdGUtdmFsdWUtdHJ1ZSB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5wdWJsaXNoZWQuc3RhdGUtdmFsdWUtZmFsc2Uge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC1tZW51IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Ak1wiO1xuICAgICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmVkaXQtdGV4dCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgYRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZWRpdC1wcm9wZXJ0aWVzIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS11cCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuk4JcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIubW92ZS1kb3duIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6SuFwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5pbnNlcnQtYmVmb3JlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6hkFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuaW5zZXJ0LWFmdGVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6gpFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHJvbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgLtcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZGVtb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AvFwiOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5kZWxldGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLm1vdmUtYXJ0aWNsZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgrJcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYXVkaXQtdHJhaWwgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eaXCI7IH1cblxuLypcclxuLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tLSBcclxuRWRnZSBlZmZlY3Qgd2hlcmUgdGhlIGlzIHR5cGljYWxseSAzIHRvbmVzIG9mIGEgc3BlY2lmaWMgY29sb3VyIGluIHRoZSBjb3JuZXIgb2YgYSBlbGVtZW50IC8gY29tcG9uZW50LlxyXG5Qb3NzaWJsZSBjbGFzcyBjb25maWd1cmF0aW9uIG9wdGlvbnM6XHJcbi0gT3BhY2l0eSBlbnVtZXJhdGlvbiAoIEhpZ2gsIE1lZGl1bSwgTG93IClcclxuLSBQb3NpdGlvbiBUb3AgKyBCb3R0b20gTCAmIFIgY29ybmVyc1xyXG5cclxuRm9yIGEgZGVtb25zdHJhdGlvbiBnbyB0byAvc3RhdGljL2dyYWR1YXRlZC1jb2xvdXItZWRnZS10ZXN0Lmh0bWxcclxuKi9cbi5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uge1xuICAtLWdyYWR1YXRlZC1zdGVwLWhlaWdodDogdmFyKC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQsIDYwcHgpO1xuICB3aWR0aDogNjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTEge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTU2ZGVnKTsgfVxuICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlLnBvc2l0aW9uLTIge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoMzAwcHggKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqIC41NikpKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi0zIHtcbiAgICByaWdodDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi00IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuNjsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTEgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjM7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC42OyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuMzsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTIgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjE7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAge1xuICAgIG9wYWNpdHk6IC4zOyB9XG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICBvcGFjaXR5OiAuMjsgfVxuICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5vcGFjaXR5LTMgLnN0ZXAgKyAuc3RlcCArIC5zdGVwIHtcbiAgICAgICAgb3BhY2l0eTogLjE7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIGhlaWdodDogdmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLypcclxuLS0tLS0gQXhpcyBSaWNoIFRleHQgRWRpdG9ycyAtLS0tLSBcclxuQmVzcG9rZSBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHdoZW4gaW50ZXJncmF0aW5nIHdpdGggdGhpcmQtcGFydHkgZWRpdG9ycy5cclxuXHJcbkdlbmVyYWwgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB0byAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIgd2hpY2ggaXMgdGhlIGNvbW1vbiBjb250YWluZXIgdGhhdCBnZXRzIHVzZWQgYWNyb3NzIGFsbCBlZGl0b3JzLlxyXG4qL1xuLmNrLWJvZHktd3JhcHBlciB7XG4gIHotaW5kZXg6IDIwMjE7IH1cbiAgLmNrLWJvZHktd3JhcHBlci5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2stZWRpdG9yIC5jay1jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XG4gIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICNkYWRhZGE7XG4gIC0tY2stY29sb3ItYmFzZS1lcnJvcjogI2IyMGMwYztcbiAgLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0OiAjMDAwMDAwOyB9XG5cbltkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0ge1xuICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuICBbZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdOm5vdCgucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIFtkYXRhLWF4aXMtcmljaC10ZXh0LWVkaXRvcl0gPiB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xIHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDEgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTEgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoMiAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMiArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMiAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygzICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0zICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00IHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDQgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTQgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00ICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoNSAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNSArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNSAqIDI1cHgpOyB9XG5cbi8qXHJcblxyXG4tLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLVxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIGlzIHNwZWNpZmljYWxseSBmb3IgZW1iZWRkaW5nIFlvdXR1YmUgdmlkZW9zIC8gQmFubmVyIHNlcmllcy4gL3N0YXRpYy92aWRlby1zZXJpZXMuaHRtbFxyXG5cclxuSGFuZGxlczpcclxuLSBUaHVtYm5haWwgcGxheSBpY29uLlxyXG4tIER1cmF0aW9uIGZvcm1hdHRpbmcuXHJcbi0gVmlkZW8gaW5kaWNhdG9yIHRleHQgKCBjbGljayBoZXJlIHRvIHdhdGNoIHZpZGVvIClcclxuXHJcbiovXG4udmlkZW8tcGxheWVyLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lcjpob3ZlciAuaW1hZ2U6YWZ0ZXIge1xuICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuaW1hZ2U6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYtcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmR1cmF0aW9uLWNvbnRhaW5lciAubGFiZWwsIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgICAgZmxleDogMTsgfSB9XG5cbi8qXHJcbiAgTXVsdGltZWRpYSBFbGVtZW50XHJcbiAgXHJcbiAgSGFuZGxlcyBzdHlsaW5nIGZvciB2aWRlbyBwbGF5YmFja1xyXG5cclxuKi9cbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAc3VwcG9ydHMgbm90ICgtYXBwbGUtcGF5LWJ1dHRvbi1zdHlsZTogaW5oZXJpdCkge1xuICAgIC52aWRlby5pcy1yZWFkeS10by1wbGF5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GLXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC52aWRlby5yZXBsYXktdmlkZW86YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvjaNcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfSB9XG5cbi5zb3VyY2UtdW5zdXBwb3J0ZWQgPiB2aWRlbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNvdXJjZS11bnN1cHBvcnRlZCA+IGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtZmFsbGJhY2tdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFsbGJhY2stZWxlbWVudCB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5mYWxsYmFjay1lbGVtZW50LmFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmFsbGJhY2stZWxlbWVudCBpbWcge1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTJweCAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDYsIDI0NiwgMC44KTtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyOyB9XG4gICAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQgLmVycm9yLWRldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IHNwYW4sIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0IGRpdiB7XG4gICAgICBncmlkLWNvbHVtbjogMjsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gKiwgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gKixcbltkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKixcbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAqLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9ODEuMjVlbSZ4bGFyZ2U9MTAwZW0meHhsYXJnZT0xMjBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhMGEwYTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjYzhjOGM4OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kOiAjZGFkYWRhO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhMGEwYTA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogcmdiJTI4MTQ5LCAxNDksIDE0OSUyOVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTdlNzsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY2VsbC5hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0gLyAyKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAwLjYyNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDI2cHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5zd2l0Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGhlaWdodDogMnJlbTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmNmYyMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEuMThyZW07XG4gICAgaGVpZ2h0OiAxLjE4cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICNFOTMzMzA7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuNDFyZW07IH1cbiAgaW5wdXQ6ZGlzYWJsZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgd2lkdGg6IDAuNjhyZW07XG4gICAgaGVpZ2h0OiAwLjY4cmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjkxcmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICB3aWR0aDogMC45M3JlbTtcbiAgICBoZWlnaHQ6IDAuOTNyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjE2cmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIHdpZHRoOiAxLjY4cmVtO1xuICAgIGhlaWdodDogMS42OHJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuOTFyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg2LCA2LCA2LCAwKTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzLCAxMywgMTMsIDApO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgdGFibGUuc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4LCA4LCA4LCAwKTsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOTMzMzA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI0U5MzMzMDsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2U4MjYyMzsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBncmF5OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHg7IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaW1nLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGksXG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5zaW1wbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC5tZW51LnNpbXBsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51Lmljb25zIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2FlYWVhZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNhZWFlYWUsIDAgMTRweCAwICNhZWFlYWU7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAwMDAsIDAgMTRweCAwICMwMDAwMDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzk1OTU5NTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM5NTk1OTUsIDAgMTRweCAwICM5NTk1OTU7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICNFOTMzMzAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuXG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRTkzMzMwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0U5MzMzMDtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRTkzMzMwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNFOTMzMzAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0U5MzMzMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogNDAwMDsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiA0MDAwOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH0gfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWF4LXdpZHRoOiAxMTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1pZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuLS0tLS0gTWVudXMgLS0tLS1cclxuVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgSSBhbSBzdGlsbCBtaWdyYXRpbmcgZnJvbSBhIG1hc3NpdmUgYmxvYiBvZiBjb2RlIGVtYmVkZGVkIGluIGhlYWRlci5zY3NzLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIERyb3Bkb3duc1xyXG4tIERyaWxsIGRvd25zXHJcbi0gQWNjb3JkaW9uc1xyXG4tIE1lZ2EgbWVudVxyXG4gIC0gTWVnYSBtZW51IHNlZSBtb3JlIGxpbmsuXHJcbiAgLSBFQkcgaW1hZ2UuXHJcbiovXG4ubWVudS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tZW51LWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lbnUtaGVhZGVyOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUtaGVhZGVyIC5tZW51LWhlYWRpbmcge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG4ubWVudS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG5cbi5tZW51LCAuZHJvcGRvd24ubWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLm1lbnUgLm1lbnUtaGVhZGVyLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmhvdmVyLCAubWVudSAubWVudS1oZWFkZXI6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXI6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXI6YWN0aXZlLCAubWVudSAubWVudS1oZWFkZXI6YWN0aXZlLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIgcCwgLm1lbnUgLm1lbnUtaGVhZGVyIHAsIC5kcm9wZG93bi5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIgcCwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubWVudSAuY2xvc2UtYnV0dG9uLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAgIC5tZW51IC5jbG9zZS1idXR0b246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1lbnUgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubWVudSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gICAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAgICAgICAubWVudSA+IGxpID4gdWwgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAubWVudSA+IGxpID4gdWwgdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IHVsIHVsIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB1bCBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjYWVhZWFlOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYTphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmFjdGl2ZSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6YWN0aXZlID4gYTphZnRlciB7XG4gICAgY29sb3I6ICNlYzkwOGU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCGXCI7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoIZcIjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qCBXCI7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDVweDsgfSB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgdWwsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgdWwge1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXVthcmlhLWV4cGFuZGVkPXRydWVdID4gYnV0dG9uOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXVthcmlhLWV4cGFuZGVkPXRydWVdID4gYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6ghlwiOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCLuoJ5cIjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICBib3JkZXI6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSAuc3VibWVudSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gLnN1Ym1lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsIHRyYW5zcGFyZW50KTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYSB7XG4gICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjRTkzMzMwKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YWZ0ZXIsIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gbGk6aG92ZXIgYTpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gbGk6aG92ZXIgYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjphZnRlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICNFOTMzMzApOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB1bCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsIHRyYW5zcGFyZW50KTsgfVxuICAgICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB1bCBsaSA+IGEsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwgbGkgPiBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgI0U5MzMzMCk7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCB0cmFuc3BhcmVudCk7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pID4gYSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSA+IGEge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgI0U5MzMzMCk7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCB0cmFuc3BhcmVudCk7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZCwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjRTkzMzMwKTsgfVxuICAgICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDphZnRlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDphZnRlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDphZnRlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICNFOTMzMzApOyB9XG4gIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0sIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgdHJhbnNwYXJlbnQpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgI0U5MzMzMCk7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAjRTkzMzMwKTsgfVxuICAubWVudSBsaSwgLmRyb3Bkb3duLm1lbnUgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5tZW51ID4gbGkgYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSBhIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAubWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24ubWVudSA+IGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgIC5tZW51ID4gbGk6aG92ZXIgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNy41cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDcuNXB4OyB9IH1cbiAgICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSArIC5saW5rLWRlc2NyaXB0aW9uLCAubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSArIC5saW5rLWRlc2NyaXB0aW9uLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSArIC5saW5rLWRlc2NyaXB0aW9uLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSArIC5saW5rLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAwOyB9IH1cbiAgICAubWVudSA+IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5tZW51ID4gbGkgPiB1bCwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICNFOTMzMzApOyB9XG4gICAgICAubWVudSA+IGxpID4gdWw6bm90KC5zdWJtZW51KSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsOm5vdCguc3VibWVudSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiB1bCwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsIGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpIGEsIC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLuoIFcIjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsby1qZWxhd3JlbmNlXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDsgfVxuICAubWVudS5kcm9wZG93biBsaSA+IGEsIC5kcm9wZG93bi5tZW51LmRyb3Bkb3duIGxpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAubWVudS5kcm9wZG93biA+IGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpLCAuZHJvcGRvd24ubWVudS5kcm9wZG93biA+IGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5tZW51Lm9uLXBhZ2UtbWVudSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGk6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5kcm9wZG93bi5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAsIC5kcm9wZG93bi5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNjBweDsgfSB9XG4gICAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpIHAgaSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAubWVudSAuaG9tZS1idXR0b24sIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudSAuaG9tZS1idXR0b24sIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiB7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246aG92ZXIgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbiBhLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b24gYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgJVcIjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBwYWRkaW5nIDAuOHM7IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSBsaSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUgbGkgPiBhLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51IC5hY2NvdW50LXBhZ2UgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSAuYWNjb3VudC1wYWdlID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogdW5zZXQ7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMjBweCAyMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMjJweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNFOTMzMzA7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsOmFmdGVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSAuY3VycmVuY3ktaWNvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwgYSAuY3VycmVuY3ktaWNvbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3ktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi7qCeXCI7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvLWplbGF3cmVuY2VcIjtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM5NTk1OTU7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDZweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LmRpc2FibGVkLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmN1cnJlbmN5LWljb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyA2LjVweCkgIWltcG9ydGFudDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgPiBhOmhvdmVyIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSwgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIGEgLmN1cnJlbmN5LWljb246YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI0U5MzMzMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6YmVmb3JlLCAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi7qCGXCI7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1OyB9IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUsIHVsLm1lbnUgbGkgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06YWN0aXZlOmJlZm9yZSwgdWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTphY3RpdmU6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwibWFpbHRvOlwiXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+DoFwiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgdWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLm1lbnUtc2Nyb2xsLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uc3VibWVudSB7XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogNDAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3VibWVudS5sZXZlbDIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0U5MzMzMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1Ym1lbnUgPiBsaS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICAuc3VibWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gbGFzdC1saW5lOyB9IH1cbiAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1lZ2EtbWVudS1jb250YWluZXIge1xuICAtLW1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjFcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBjYWxjKCgxMDAlIC0gMHB4KSAvIDEpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMVwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjJcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBjYWxjKCgxMDAlIC0gMTVweCkgLyAyKSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjJcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgY2FsYygoMTAwJSAtIDMwcHgpIC8gMykpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIGNhbGMoKDEwMCUgLSA0NXB4KSAvIDQpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjVcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBjYWxjKCgxMDAlIC0gNjBweCkgLyA1KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjVcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDU7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgY2FsYygoMTAwJSAtIDc1cHgpIC8gNikpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA2OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIGNhbGMoKDEwMCUgLSA5MHB4KSAvIDcpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNzsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjhcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCBjYWxjKCgxMDAlIC0gMTA1cHgpIC8gOCkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI4XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA4OyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IC5zdWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICBnYXA6IDIwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwuc3VibWVudSA+IGxpLmhhcy1jbG9uZWQtZ3JvdXBzLXBhcmVudCA+IGEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBnYXA6IDIwcHggMTVweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6ggVwiO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG8tamVsYXdyZW5jZVwiO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkgYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgYTpiZWZvcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZSBhOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCA1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSBhOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGE6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIGxpLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5tZW51IC5oYXMtY2xvbmVkLWdyb3VwcyBhIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLm1lZ2FtZW51LWNvbHVtbi1jbG9uZWQtc3BhbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1tZWdhLW1lbnUtY29sdW1uLWNsb25lZC13cmFwKSwgMWZyKTtcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIGdhcDogMCAxNXB4OyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5jaGlsZGZyZWUtcGFyZW50IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5jb2x1bW4tc3Bhbm5lZCA+IGEge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuY2xvbmVkLXRvLXNlcGVyYXRlLXJvdyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHVsLmFjY291bnQtbWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgbGkuaXMtc3VibWVudS1wYXJlbnQuYWNjb3VudC1tZW51LWNvbnRhaW5lciB1bC5hY2NvdW50LW1lbnUge1xuICAgICAgICAgIHdpZHRoOiA1NTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyOmhvdmVyIHVsLmFjY291bnQtbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkgPiBhIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgLnBlcnNpc3RlbnQtZWJnLWltYWdlcyBsaSB1bC5zdWJtZW51ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaTpob3ZlciAuaW1hZ2Uge1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSAuaW1hZ2Uge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIC5wZXJzaXN0ZW50LWViZy1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIC5wZXJzaXN0ZW50LWViZy1pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9XG5cbi5tZWdhLW1lbnUtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmxldmVsMiwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyIHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgLmxldmVsMiBsaSBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIgbGkgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiA+IGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgLmxldmVsMiA+IGxpOmhvdmVyID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgLmxldmVsMi5qcy1kcm9wZG93bi1hY3RpdmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICB0b3A6IDEwMCU7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAuaXMtZHJvcGRvd24tc3VibWVudSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWluLXdpZHRoOiBhdXRvOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAuc3VibWVudSBsaS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzIDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwge1xuICAgICAgd2lkdGg6IDEzMDBweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDdweDtcbiAgICAgIHotaW5kZXg6IDUwMDA7XG4gICAgICBib3gtc2hhZG93OiAwcHggMjBweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNFOTMzMzA7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4IDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNFOTMzMzA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0sIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGk6bGFzdC1jaGlsZCwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtOmxhc3QtY2hpbGQsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGk6bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMThweDsgfSB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6aG92ZXIsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXIsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6aG92ZXI6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNmYyMDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmFjdGl2ZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmFjdGl2ZTpiZWZvcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmFjdGl2ZTpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmU6aG92ZXIsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmU6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmNmYyMDsgfVxuXG4vKlxyXG4tLS0tLSBQcm9kdWN0IExpc3QgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBWYXJpb3VzIGxpc3Qgdmlld3M6XHJcbiAgLSBUYWJsZVxyXG4gIC0gR3JpZFxyXG4tIEFueXdoZXJlIGEgcHJvZHVjdCBsaXN0IGlzIHNob3cgKCBzZWFyY2ggcmVzdWx0cywgcHJvZHVjdCBieSBncm91cCwgYWNjb3VudCBhcmVhIHBhZ2VzICkgdGhpcyBjb2RlIHdpbGwgYmUgdXNlZC5cclxuLSBUaGlzIGZpbGUgaXMgTk9UIGRlZGljYXRlZCB0byBmaWx0ZXJzIGNvbnN1bHQgZmlsdGVyLnNjc3MgZm9yIHRoYXQuXHJcbi0gQWxsIHNvcnRpbmcgb3B0aW9ucyAoIGl0ZW1zIHBlciBwYWdlcywgdmlldyBzZWxlY3Rpb24sIHBhZ2luYXRpb24sIGl0ZW1zIGZvdW5kICYgc29ydCBieSApXHJcbi0gTm8gcmVzdWx0cyBmb3VuZC5cclxuKi9cbiNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI0U5MzMzMDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjYmVzcG9rZS1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAjYmVzcG9rZS1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMyU7IH1cbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoNm4rMykge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDZuKzIpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCg2bisxKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH0gfVxuICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgYS5zdWdnZXN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgYS5zdWdnZXN0aW9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgZ2FwOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwLCAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5zbmlwcGV0LWNvbnRhaW5lciBwIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zZWN0aW9uLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U5MzMzMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfSB9XG4gIC5zZWN0aW9uLWhlYWRpbmcgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuI3Byb2R1Y3QtbGlzdCAjZ3JvdXBEYXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4jcHJvZHVjdExpc3RJdGVtIC5ncmlkLXggLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLmxpc3RpbmctY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpc3RpbmctY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG5cbi5jb250ZW50Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50Q29udGFpbmVyW2RhdGEtY29udGVudC11cGRhdGluZz10cnVlXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDAgMSUgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250ZW50Q29udGFpbmVyIC5hdHRyaWJ1dGVMaXN0IHtcbiAgICAgIHdpZHRoOiAxODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgLmF0dHJpYnV0ZUxpc3Qge1xuICAgICAgd2lkdGg6IDI0MHB4OyB9IH1cbiAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zIC5zdWItaGVhZGluZy1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXTpudGgtY2hpbGQoZXZlbikgLnJvd0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Lm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5zZXBlcmF0b3IpIC5yb3dDb250YWluZXI6aG92ZXIsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5vZGRFdmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLnNlcGVyYXRvcikgLnJvd0NvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24gYSBoMywgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLm9kZEV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uIGEgaDMge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0ID4gZGl2Om5vdCg6bnRoLWNoaWxkKDEpKSB+IGRpdiAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJSb2JvdG8gQ29uZGVuc2VkIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDU1JTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHAge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuY29kZS1jb2wgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucHJpY2UtY29sIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXItY29sIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eS1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldC1jb2wge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAxMiU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLmJhc2tldCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuZmF2b3VyaXRlIHtcbiAgICAgICAgd2lkdGg6IDklOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm11bHRpbWVkaWEtY29udGVudCBkZXNjcmlwdGlvblwiIFwibXVsdGltZWRpYS1jb250ZW50IGNvZGVcIiBcIm11bHRpbWVkaWEtY29udGVudCBwcmljZVwiIFwibXVsdGltZWRpYS1jb250ZW50IGludGVyYWN0aXZlXCI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcbiAgICAgIGdhcDogMTBweCAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAlIDFmcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLm11bHRpbWVkaWEtY29udGVudCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogZGVzY3JpcHRpb247IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBncmlkLWFyZWE6IGNvZGU7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogaW50ZXJhY3RpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lcjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgICAgb3JkZXI6IDI7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgaDMge1xuICAgICAgICAgIG1heC13aWR0aDogMjQ1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLmdyb3VwLWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRTkzMzMwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY2ZjIwOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5zcGVjaWZpY2F0aW9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuc3BlY2lmaWNhdGlvbiBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvZGUtY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA0OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IDExJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogI0U5MzMzMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMCAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgb3JkZXI6IDU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDA7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciAuYWRkVG9CYXNrZXQge1xuICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWNlbnRlcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmY2ZjIwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmNvZGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2Uge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZSAuY3VycmVuY3kge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAudmF0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmVucXVpcnktY29sIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBvcmRlcjogNDsgfVxuXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnJlc3VsdC1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogI0U5MzMzMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuc25pcHBldC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiA1cHggMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qXHJcblxyXG4tLS0tIEFYSVMgRGVidWdnZXIgLS0tLSBcclxuXHJcblRoaXMgaXMgYSBzaWRlIHByb2plY3Qgb2YgbWluZSBwdXJseSB0byBtYWtlIGRldiBsaWZlIGEgbGl0dGxlIGVhc2llciAvIGZhc3RlciBlc3NlbnRpYWxseSB0aGlzIGlzIGp1c3QgYSBkcmF3ZXIgd2l0aCBhIGJ1bmNoIG9mIG9wdGlvbnMgdG8gZmx1c2ggY2FjaGUsIHNldCBkZWJ1ZyBsZXZlbHMgJiBjbGVhciB0aGUgY29uc29sZS5cclxuXHJcbiovXG4uZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RhZGFkYTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB6LWluZGV4OiA4MDAwMDAwMDAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfSB9XG5cbi5kZXZlbG9wbWVudC1kcmF3ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgdWwgbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAuc2VydmljZS13b3JrZXItY29udGFpbmVyIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmhlYWRpbmctY29udGFpbmVyIGgyIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuZHJhd2VyLWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24ge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzOHB4O1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuOHM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIxXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMyODsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMVwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQxLjhweDtcbiAgICAgICAgY29sb3I6ICNiMjBjMjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjJcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzQzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIyXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDUuNnB4O1xuICAgICAgICBjb2xvcjogI2IyMGM0MztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiM1wiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjNWY7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjNcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0OS40cHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzVmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCI0XCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGM3YjsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiNFwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDUzLjJweDtcbiAgICAgICAgY29sb3I6ICNiMjBjN2I7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jYWNoZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhrhcIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5jbGVhci1jb25zb2xlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+EoFwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLnNldC1kZWJ1Z2dpbmctbGV2ZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74aIXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uYXhpcy10ZXN0LW1vZGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75KSXCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uc2l0ZS1zdHlsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvlL9cIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI0U5MzMzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYyMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNsaWRlciAubGFiZWwgW2RhdGEtc2xpZGVyLXZhbHVlXSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgaW5wdXQge1xuICAgICAgZmxleDogMDsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zd2l0Y2gge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5vcHRpb24tY29udHJvbHMtY29udGFpbmVyLmFjdGl2ZSwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuXG46cm9vdCB7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICNFOTMzMzA7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTE6ICNlYjQ3NDU7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTI6ICNlZDVjNTk7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICNmMDcwNmU7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTQ6ICNmMjg1ODM7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTU6ICNmNDk5OTg7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICNmNmFkYWM7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTc6ICNmOGMyYzE7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTg6ICNmYmQ2ZDY7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZGViZWE7XG4gIC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZmVmNWY1O1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTA6ICNmZjZmMjA7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTogI2ZmN2QzNjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0yOiAjZmY4YzRkO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTM6ICNmZjlhNjM7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNDogI2ZmYTk3OTtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy01OiAjZmZiNzkwO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTY6ICNmZmM1YTY7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNzogI2ZmZDRiYztcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy04OiAjZmZlMmQyO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZmYxZTk7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTA6ICNmZmY4ZjQ7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wOiAjYzAwMDAwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTogI2UwMDAwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTI6ICNmZjAxMDE7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zOiAjZmYyMDIwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNDogI2ZmNDA0MDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTU6ICNmZjYwNjA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy02OiAjZmY4MDgwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNzogI2ZmYTBhMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTg6ICNmZmJmYmY7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy05OiAjZmZkZmRmO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMTA6ICNmZmVmZWY7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0wOiAjMmI1NzlhO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTogIzMyNjViMjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTI6ICMzYjczYzg7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0zOiAjNTQ4NWNmO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNDogIzZjOTZkNjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTU6ICM4NWE4ZGQ7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy02OiAjOWRiOWU0O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNzogI2I2Y2JlYjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTg6ICNjZWRjZjE7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy05OiAjZTdlZWY4O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMTA6ICNmM2Y2ZmM7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0wOiAjZTViNzAxO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTogI2ZlY2MwNDtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTI6ICNmZWQxMjA7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0zOiAjZmVkNzNjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNDogI2ZlZGQ1ODtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTU6ICNmZWUyNzQ7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy02OiAjZmZlODhmO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNzogI2ZmZWVhYjtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTg6ICNmZmY0Yzc7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy05OiAjZmZmOWUzO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMTA6ICNmZmZjZjE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0wOiAjYTIzNGUzO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTogI2FiNDhlNjtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTI6ICNiNTVkZTk7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0zOiAjYmU3MWViO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNDogI2M3ODVlZTtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTU6ICNkMTlhZjE7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02OiAjZGFhZWY0O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNzogI2UzYzJmNztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTg6ICNlY2Q2Zjk7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05OiAjZjZlYmZjO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMTA6ICNmYWY1ZmU7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTA6ICM0ODQ4NDg7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTE6ICM1YjViNWI7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTI6ICM2ZDZkNmQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTM6ICM3ZjdmN2Y7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQ6ICM5MTkxOTE7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTU6ICNhNGE0YTQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTY6ICNiNmI2YjY7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTc6ICNjOGM4Yzg7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTg6ICNkYWRhZGE7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTk6ICNlZGVkZWQ7XG4gIC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZjZmNmY2O1xuICAtLWJsYWNrLWNvbG91cjogIzAwMDAwMDtcbiAgLS13aGl0ZS1jb2xvdXI6ICNmZmZmZmY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTA6ICMxMjgxMWY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTE6ICMxNmExMjc7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTI6ICMxYmMxMmU7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTM6ICMyMGUwMzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTQ6ICM0MGU0NTM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTU6ICM2MGU5NzA7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTY6ICM4MGVkOGM7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTc6ICM5ZmYyYTk7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTg6ICNiZmY2YzY7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTk6ICNkZmZiZTI7XG4gIC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZWZmZGYxO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0wOiAjZmY1ZTA1O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xOiAjZmY2ZTFlO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0yOiAjZmY3ZTM3O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0zOiAjZmY4ZTUwO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy00OiAjZmY5ZTY5O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy01OiAjZmZhZjgyO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy02OiAjZmZiZjliO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy03OiAjZmZjZmI0O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy04OiAjZmZkZmNkO1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05OiAjZmZlZmU2O1xuICAtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZmZjdmMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTA6ICNiMjBjMGM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xOiAjZDAwZTBlO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMjogI2VlMTAxMDtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTM6ICNmMTJkMmQ7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy00OiAjZjM0YjRiO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNTogI2Y1Njk2OTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTY6ICNmNzg3ODc7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy03OiAjZjlhNWE1O1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtODogI2ZiYzNjMztcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTk6ICNmZGUxZTE7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ZlZjBmMDtcbiAgLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDEzMDBweDtcbiAgLS11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogMTkyMHB4O1xuICAtLXByaW1hcnktZm9udDogUm9ib3RvIENvbmRlbnNlZCwgUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFjaywgQXJpYWw7XG4gIC0tc21vb3RoLWVkZ2VzLWVuYWJsZWQ6IGZhbHNlO1xuICAtLXNtb290aC1lZGdlcy1sZXZlbDogMTVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTE6IDVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTI6IDI1cHg7XG4gIC0tZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjU7XG4gIC0tdHlwb2dyYXBoeS1ib2R5LWZvbnQtY29sb3VyOiAjMDAwMDAwO1xuICAtLWJ1dHRvbnMtYm9yZGVyLXJhZGl1czogMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZCBGYWxsYmFja1wiO1xuICBzcmM6IGxvY2FsKFwiQXJpYWxcIik7XG4gIHNpemUtYWRqdXN0OiA5NS4zNSU7XG4gIGFzY2VudC1vdmVycmlkZTogNzUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyNSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiA0Ljk4JTsgfVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5ib2R5LnNjcm9sbExvY2sge1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxubWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIG1haW4gPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pbWFnZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCB7XG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7IH0gfVxuXG4uZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cgLmFsaWduLWNlbnRlciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIGhyLm1vYmlsZS1zZXBlcmF0b3Ige1xuICAgIG1hcmdpbjogMzBweCAwOyB9IH1cblxuI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuI2dyb3VwLWJhbm5lci1jYXJvdXNlbC1jb250YWluZXIsIC5ncm91cC1iYW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHdpZHRoOiAxOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTIsICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4jY2F0ZWdvcnlIZWFkaW5nLCAjcHJvZHVjdExpc3RIZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucG9wdXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyOmhvdmVyICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNFOTMzMzA7IH1cblxuI3JlZ2lzdGVyLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICNFOTMzMzA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZjZmMjA7IH1cbiAgLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNkYTdlN2M7IH1cblxueG1wIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkOm5vdCguYW5pbWF0ZWQtY29udGVudC1hY3RpdmUpIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5qc29uLWNvZGUtYmxvY2sgY29kZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDAgNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUge1xuICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg4VcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTMzMzA7IH1cbiAgICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlLCAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4iLCIkZW52aXJvbm1lbnQ6IFwiZGV2ZWxvcG1lbnRcIjtcbiRlbWFpbFRlbXBsYXRlOiBmYWxzZTtcbi8qKlxyXG5cclxuVGhpcyBpcyB0aGUgYmFzZSBvZiB0aGUgYXBwLmNzcyBmaWxlLCB0byBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb3QgYSBzaXRlIGxldmVsIGdvIHRvIC9icmFuZGluZy5zY3NzIGlmIHlvdSBuZWVkIG1vZGlmeSB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHNpdGVzIGdvIHRvIC9nbG9iYWwvdmFyaWFibGVzLnNjc3MuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gTm8gQkVTUE9LRSBDU1MgUlVMRSdTIHNob3VsZCBiZSBzcGVjaWZpZWQgaGVyZSBvciBpbiBicmFuZGluZy5zY3NzLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgdGhlIGNzcyBkbyBpdCBpbiBlaXRoZXIgL2dsb2JhbCBvciBpbiAvY29tcG9uYW50cyBvdGhlcndpc2UgaXQgd2lsbCBjYXVzZSB0ZWFycywgSUYgeW91IHJlYWxseSBoYXZlIHRvIHRvIGl0IGluIHRoZSBzaXRlIHNwZWNpZmljIGJyYW5kaW5nLnNjc3MgdW5kZXIgYWxsIG9mIHRoZSBTQVNTIG92ZXJyaWRlcy5cclxuXHJcbioqL1xyXG5cclxuLy8gLS0tLS0gRGVwZW5kYW5jaWVzIC0tLS0tXHJcblxyXG4vLyBFeHByZXNzIEZ1bmN0aW9ucy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2Z1bmN0aW9ucyc7XHJcblxyXG4vLyBJbXBvcnQgc2l0ZSBzcGVjaWZpYyBicmFuZGluZy5cclxuQGltcG9ydCAnLi9icmFuZGluZyc7XHJcblxyXG4vLyBJbXBvcnQgRXhwcmVzcyBzdHlsZXNoZWV0LlxyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvYXBwJztcclxuXHJcblxyXG4iLCIvLyBTdGFuZGFyZCBjdXN0b20gZnVuY3Rpb25zICggbm90IGZvdW5kYXRpb24ncyBmdW5jdGlvbnMgKSB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgdGVtcGxhdGUuIFxyXG5cclxuLy8gVmFyaWFibGVzIHRoYXQgaGF2ZSB0byBiZSBkZWZpbmVkLlxyXG4kYnJlYWtwb2ludHM6IG51bGwgIWRlZmF1bHQ7XHJcbkBpZiAoJGJyZWFrcG9pbnRzID09IG51bGwpIHtcclxuICAgIC8vIEZhbGxiYWNrLlxyXG4gICAgJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICBsYXJnZTogMTMwMHB4LFxyXG4gICAgICAgIHhsYXJnZTogMTYwMHB4LFxyXG4gICAgICAgIHh4bGFyZ2U6IDE5MjBweFxyXG4gICAgKTtcclxufVxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBzbG93bHkgYmVpbmcgcm9sbGVkIG91dCBhY3Jvc3MgZXhwcmVzcy5cclxuXHJcbi8vIEhhbmRsZXMgaG93IGJvcmRlci1yYWRpdXMgdmFsdWVzIGdldCBhcHBsaWVkLCBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQgaXMgc2V0IGJ5IGRlZmF1bHQgJHNtb290aC1lZGdlcy1sZXZlbCBnZXRzIHVzZWQgYW5kIGlmIGEgJGN1c3RvbS12YWx1ZSBpcyBwYXNzZWQgaW4gdGhhdCB0YWtlcyBwcmVzaWRlbmNlIG92ZXIgdGhlIGRlZmF1bHQgdmFsdWUgd2hpY2ggaXMgc2V0IGJ5ICRzbW9vdGgtZWRnZXMtbGV2ZWwuXHJcbkBmdW5jdGlvbiBzbW9vdGgtZWRnZXMoJGN1c3RvbS12YWx1ZTogMCkge1xyXG4gICAgLy8gQ2FuY2VsbGVkIG91dCBhbGwgZWZmZWN0LlxyXG4gICAgQGlmICgkY3VzdG9tLXZhbHVlID09IGZhbHNlKSB7XHJcbiAgICAgICAgQHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBAcmV0dXJuIGlmKCRjdXN0b20tdmFsdWUgIT0gMCwgJGN1c3RvbS12YWx1ZSwgJHNtb290aC1lZGdlcy1sZXZlbCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAaWYgJGN1c3RvbS12YWx1ZSA9PSAwIHtcclxuICAgICAgICAgICAgQHJldHVybiAwO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAcmV0dXJuICRjdXN0b20tdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG5cclxuLy8gU2ltcGxlIGZ1bmN0aW9ucyBmb3IgZXh0cmFjdGluZyB2YWx1ZXMgYmFzZWQgb24gYnJlYWtwb2ludC5cclxuLy8gTW9iaWxlLlxyXG4vLyBAZnVuY3Rpb24gc21hbGwtdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGlzIGlzIGEgbGlzdCBvciBtYXAuXHJcbi8vICAgICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAgJ2xpc3QnIHtcclxuLy8gICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJyB7XHJcbi8vICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIHNtYWxsKTtcclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbnVtYmVyJyB7XHJcbi8vICAgICAgICAgQHJldHVybiAkdmFsdWVzO1xyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBzbWFsbCB2YWx1ZS5cIjtcclxuLy8gICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIE1lZGl1bVxyXG4vLyBAZnVuY3Rpb24gbWVkaXVtLXZhbHVlKCR2YWx1ZXMpIHtcclxuLy8gICAgIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XHJcbi8vICAgICAgICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+IDEge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAyKTtcclxuLy8gICAgICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMSk7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcclxuLy8gICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgbWVkaXVtKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBtZWRpdW0pO1xyXG4vLyAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoKCR2YWx1ZXMsIHNtYWxsKSkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAZGVidWcgXCJDb3VsZCBub3QgZmluZCBhIG1lZGl1bSBrZXkgbm9yIGEgc21hbGwga2V5IGZhbGxiYWNrLlwiO1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgICAgIH1cclxuICAgICAgICBcclxuLy8gICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgIEBkZWJ1ZyBcIkZhaWxlZCB0byBnZXQgbWVkaXVtIHZhbHVlLlwiO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gfVxyXG4vLyBMYXJnZVxyXG4vLyBAZnVuY3Rpb24gbGFyZ2UtdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcclxuLy8gICAgICAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID4gMiB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDMpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAyKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcge1xyXG4vLyAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBsYXJnZSkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbGFyZ2UpO1xyXG4vLyAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgc21hbGwpIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIHNtYWxsKTtcclxuLy8gICAgICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICAgICAgQGRlYnVnIFwiQ291bGQgbm90IGZpbmQgYSBsYXJnZSBrZXkgbm9yIGEgc21hbGwga2V5IGZhbGxiYWNrLlwiO1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgIEBkZWJ1ZyBcIkZhaWxlZCB0byBnZXQgbGFyZ2UgdmFsdWUsIHZhbHVlcyBwYXNzZWQgYXJlIG9mIHR5cGU6IFwiICsgdHlwZS1vZigkdmFsdWVzKTtcclxuLy8gICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgfVxyXG4gICAgXHJcbi8vIH1cclxuXHJcbi8vIFNtYWxsIFJlc3BvbnNpdmUgVmFsdWVzLlxyXG5AZnVuY3Rpb24gc21hbGwtdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCAxKTtcclxufVxyXG5cclxuLy8gTWVkaXVtIFJlc3BvbnNpdmUgVmFsdnVlLlxyXG5AZnVuY3Rpb24gbWVkaXVtLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgMik7XHJcbn1cclxuXHJcbi8vIExhcmdlIFJlc3BvbnNpdmUgVmFsdWUuXHJcbkBmdW5jdGlvbiBsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDMpO1xyXG59XHJcblxyXG4vLyB4TGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIHhsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDQpO1xyXG59XHJcblxyXG4vLyB4eExhcmdlIFJlc3BvbnNpdmUgVmFsdWUuXHJcbkBmdW5jdGlvbiB4eGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgNSk7XHJcbn1cclxuXHJcbi8qXHJcblxyXG52YWx1ZXMgY2FuIGJlIGVpdGhlciBhIGxpc3Qgb3IgbWFwLlxyXG5cclxuQnJlYWtwb2ludCB2YWx1ZXM6XHJcblNtYWxsID0gMVxyXG5NZWRpdW0gPSAyXHJcbkxhcmdlID0gM1xyXG54TGFyZ2UgPSA0XHJcbnh4TGFyZ2UgPSA1XHJcblxyXG4qL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsICRicmVha3BvaW50KSB7XHJcbiAgICAvLyBJZiB2YWx1ZXMgaXMgYSBsaXN0ICggaS5lIG5lc3RlZCBwcmVzZXQgKVxyXG4gICAgQGlmICh0eXBlLW9mKCR2YWx1ZXMpID09IFwibGlzdFwiKSB7XHJcbiAgICAgICAgLy8gVXNpbmcgdGhlIGJyZWFrcG9pbnQgdmFsdWUgbWF0Y2ggaXQgZG8gdGhlIHZhbHVlcyBpbiB0aGUgbGlzdC5cclxuICAgICAgICBAaWYgKGxlbmd0aCgkdmFsdWVzKSA+PSAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkYnJlYWtwb2ludCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIElmIG5vIGJyZWFrcG9pbnQgdmFsdWUgYXNzaWduZWQgdGhlbiBmaW5kIG5lYXJlc3Qgb25lLlxyXG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCBsZW5ndGgoJHZhbHVlcykpO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcpIHtcclxuICAgICAgICAvLyBNYWtlIHN1cmUgYnJlYWtwb2ludCBpcyBhY3R1YWxseSBjb25maWd1cmVkLlxyXG4gICAgICAgIEBpZiAobGVuZ3RoKCRicmVha3BvaW50cykgPCAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBAZXJyb3IoXCJDb25maWd1cmVkIGJyZWFrcG9pbnRzIGRvbid0IGdvIHVwIHRoYXQgaGlnaCAoICN7JGJyZWFrcG9pbnR9ICksIHBsZWFzZSBjaGVjayB0aGUgX3NldHRpbmdzLnNjc3Mgc2VjdGlvbiAyLiBCcmVha3BvaW50cyBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERvZXMgZG9lcyAkdmFsdWVzIGhhdmUgYSBrZXkgZm9yIHRoaXMgYnJlYWtwb2ludD9cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRicmVha3BvaW50KSkge1xyXG4gICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRicmVha3BvaW50KSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEZpbmQgTmVhcmVzdCB2YWx1ZS5cclxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCBsZW5ndGgoJHZhbHVlcykpKTtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgIEBlcnJvciBcIkZhaWxlZCB0byByZXR1cm4gcmVzcG9uc2l2ZSB2YWx1ZSwgdGhpcyB3YXMgYmVjYXVzZSB0aGUgdmFsdWVzIHdlcmUgbm90IGluIGEgbWFwIG9yIGxpc3QsIHRoZSB2YWx1ZXMgYXNzaWduZWQgd2VyZSBvZiB0eXBlICgje3R5cGUtb2YoJHZhbHVlcyl9KSBhbmQgdGhlIHZhbHVlIGlzICN7JHZhbHVlc30sIHBsZWFzZSBjaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24gZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBkZWZhdWx0LWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGRlZmF1bHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gaG92ZXItY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgaG92ZXIpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gYWN0aXZlLWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGFjdGl2ZSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBkaXNhYmxlZC1jb2xvdXIoJG1peGluKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1peGluLCBkaXNhYmxlZCk7XHJcbn1cclxuXHJcbi8vIEdldCBjb21tb24gYnV0dG9uIGZvbnQgc2l6ZS5cclxuQGZ1bmN0aW9uIGdldC1idXR0b24tZm9udC1zaXplKCR0eXBlOiAnc3RhbmRhbG9uZScpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkY29tbW9uLWJ1dHRvbi1mb250LXNpemVzLCAkdHlwZSk7XHJcbn1cclxuXHJcbi8vIEdldCBjb21tb24gYnV0dG9uIGZvbnQgd2VpZ2h0LlxyXG5AZnVuY3Rpb24gZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoJHR5cGU6ICdzdGFuZGFsb25lJykge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0cywgJHR5cGUpO1xyXG59XHJcblxyXG4vLyBVc2VkIGZvciBnZXR0aW5nIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCB2YWx1ZXMgZnJvbSBsaXN0cyBuZXN0ZWQgaW4gbWFwcyBmb3IgcG9zaXRpb25pbmcsIG1hcmdpbnMgJiBwYWRkaW5nLlxyXG5AZnVuY3Rpb24gc3BhY2luZy12YWx1ZSgkdmFsdWVzLCAkc2lkZTogMCwgJGtleTogXCJzbWFsbFwiKSB7XHJcbiAgICAvLyBAaWYgJHNpZGUgPiA0IG9yICRzaWRlIDwgMSB7XHJcbiAgICAvLyAgICAgQGRlYnVnIFwic3BhY2luZy12YWx1ZTogJHNpZGUgY2Fubm90IGJlIGxlc3MgdGhhdCAxIG9yIG1vcmUgdGhhbiA0XCI7XHJcbiAgICAvLyAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIC8vIH0gXHJcbiAgICAvLyBXaGF0IHR5cGUgYXJlIHdlIGRlYWxpbmcgd2l0aCBoZXJlPyBtYXAocyksIGxpc3Qgb3IgbnVtYmVyLlxyXG4gICAgJHZhbHVlc1R5cGU6IHR5cGUtb2YoJHZhbHVlcyk7XHJcbiAgICBAaWYoJHZhbHVlc1R5cGUgPT0gXCJtYXBcIikge1xyXG4gICAgICAgIEBpZiAka2V5ID09IFwic21hbGxcIiB7XHJcbiAgICAgICAgICAgICR2YWx1ZXM6IHNtYWxsLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1lZGl1bVwiIHtcclxuICAgICAgICAgICAgJHZhbHVlczogbWVkaXVtLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxhcmdlXCIge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBsYXJnZS12YWx1ZSgkdmFsdWVzKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJHZhbHVlczogbWFwLWdldCgkdmFsdWVzLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEF0dGVtcHRpbmcgdG8gY2F0ZXIgZm9yIHNob3J0IGhhbmQgdXNlLlxyXG4gICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAzIGFuZCAkc2lkZSA9PSA0IHtcclxuICAgICAgICAkc2lkZTogMjtcclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDIgYW5kICgkc2lkZSA+IDIpIHtcclxuICAgICAgICAkc2lkZTogaWYoJHNpZGUgPT0gMywxLDIpO1xyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMSB7XHJcbiAgICAgICAgJHNpZGU6IDE7XHJcbiAgICB9XHJcbiAgICAkdmFsdWU6IDA7XHJcbiAgICAvLyBGaW5kIHRoZSB2YWx1ZSB0aGF0IG1hdGNoZXMgdGhlIHNpZGUuXHJcbiAgICBAaWYgKCRzaWRlID4gMCkge1xyXG4gICAgICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRzaWRlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIEp1c3Qgb3V0cHV0IHdoYXRldmVyIGlzIHNldCBpbiBhIHN0cmluZy5cclxuICAgICAgICAkdmFsdWU6ICR2YWx1ZXM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLXNwbGl0KCRzdHJpbmcsICRzZXBhcmF0b3IpIHtcclxuICAgIC8vIGVtcHR5IGFycmF5L2xpc3RcclxuICAgICRzcGxpdC1hcnI6ICgpO1xyXG4gICAgLy8gZmlyc3QgaW5kZXggb2Ygc2VwYXJhdG9yIGluIHN0cmluZ1xyXG4gICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xyXG4gICAgLy8gbG9vcCB0aHJvdWdoIHN0cmluZ1xyXG4gICAgQHdoaWxlICRpbmRleCAhPSBudWxsIHtcclxuICAgICAgICAvLyBnZXQgdGhlIHN1YnN0cmluZyBmcm9tIHRoZSBmaXJzdCBjaGFyYWN0ZXIgdG8gdGhlIHNlcGFyYXRvclxyXG4gICAgICAgICRpdGVtOiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSk7XHJcbiAgICAgICAgLy8gcHVzaCBpdGVtIHRvIGFycmF5XHJcbiAgICAgICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRpdGVtKTtcclxuICAgICAgICAvLyByZW1vdmUgaXRlbSBhbmQgc2VwYXJhdG9yIGZyb20gc3RyaW5nXHJcbiAgICAgICAgJHN0cmluZzogc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIDEpO1xyXG4gICAgICAgIC8vIGZpbmQgbmV3IGluZGV4IG9mIHNlcGFyYXRvclxyXG4gICAgICAgICRpbmRleCA6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VwYXJhdG9yKTtcclxuICAgIH1cclxuICAgIC8vIGFkZCB0aGUgcmVtYWluaW5nIHN0cmluZyB0byBsaXN0ICh0aGUgbGFzdCBpdGVtKVxyXG4gICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRzdHJpbmcpO1xyXG5cclxuICAgIEByZXR1cm4gJHNwbGl0LWFycjtcclxufVxyXG5cclxuLy8gR2V0IHNvY2lhbCBpY29uLlxyXG5AZnVuY3Rpb24gc29jaWFsLWljb24oJHBsYXRmb3JtKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHNvY2lhbC1pY29ucywgJHBsYXRmb3JtKTtcclxufVxyXG5cclxuLy8gVXNlZCB0byBkaXNwbGF5IGRlZmF1bHQgaWNvbnMgaWYgbm8gc2l0ZSBzcGVjaWZjIGljb24gaGFzIGJlZW4gZGVmaW5lZC5cclxuQGZ1bmN0aW9uIGN1c3RvbS1pY29uLWZhbWlseSgkZGVmYXVsdC1mb250LWZhbWlseSwgJGVuYWJsZWQ6IGZhbHNlKSB7XHJcbiAgICAvLyBJZiBjdXN0b20gaWNvbiBpcyBlbmFibGVkIGFuZCB0aGUgZ2xvYmFsIGZsYWcgaXMgc2V0IHRoZW4gb3V0cHV0IHNpdGUgc3BlY2lmaWMgZm9udCBmYW1pbHksIGlmICRlbmFibGVkPXRydWUgYnV0ICRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQgaXMgZmFsc2UgdGhlbiB5b3UgbW9zdCBsaWtlbHkgaGF2ZSBub3Qgc2V0IHVwIGN1c3RvbSBpY29uIGZvbnRzIGNvcnJlY3RseS5cclxuICAgIEBpZiAkZW5hYmxlZCBhbmQgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCB7XHJcbiAgICAgICAgQHJldHVybiAkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEByZXR1cm4gJGRlZmF1bHQtZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRPRE86IHRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLlxyXG5AZnVuY3Rpb24gY29udHJhc3QtY2hlY2tlcigkY29sb3VyLWEsICRjb2xvdXItYikge1xyXG4gICAgQGlmICgkY29sb3VyLWEgPT0gbnVsbCkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbnRyYXN0IENoZWNrZXI6ICRjb2xvdXItYSBpcyBudWxsIHNvIG5vdGhpbmcgdG8gY29tcGFyZSBkZWZhdWx0aW5nIHRvICN7JGNvbG91cjB9IGZvciAjeyRzaXRlfVwiO1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRjb2xvdXItYiA9PSBudWxsKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGVycm9yIFwiQ29udHJhc3QgQ2hlY2tlcjogJGNvbG91ci1iIGlzIG51bGwgZGVmYXVsdGluZyB0byAkY29sb3VyLWEgZm9yICN7JHNpdGV9IC0gXCIgJGNvbG91ci1iO1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91ci1hO1xyXG4gICAgfVxyXG4gICAgJHJhdGlvOiBjb2xvci1jb250cmFzdCgkY29sb3VyLWEsICRjb2xvdXItYik7XHJcbiAgICAkbWF0Y2hlZC1jb2xvdXI6IFwiXCI7XHJcbiAgICAvLyBJZiBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IHRoZW4gZXhpdC5cclxuICAgIEBpZiAkY29sb3VyLWIgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91ci1hO1xyXG4gICAgfVxyXG4gICAgLy8gSWYgcmF0aW8gaXMgYmVsb3cgdGhyZXNob2xkIHRoZW4gZmluZCBhIGRpZmZlcmVudCBjb2xvdXIuXHJcbiAgICBAaWYgJHJhdGlvIDwgJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkIHtcclxuICAgICAgICBAaWYgJGRlYnVnIGFuZCAkZGVidWctbGV2ZWwgPT0gMiB7XHJcbiAgICAgICAgICAgIEBkZWJ1ZyAkc2l0ZSBcImNvbG91clwiICRjb2xvdXItYSBcImNvbnRyYXN0IGNvbmZsaWN0cyB3aXRoXCIgJGNvbG91ci1iIFwiYXR0ZW1wdGluZyB0byBmaW5kIGFsdGVybmF0aXZlLlwiICRyYXRpbzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbG91ciB0aGF0IGlzIGFib3ZlIHRoZSByYXRpbyB0aHJlc2hvbGQuXHJcbiAgICAgICAgQGVhY2ggJGNvbG91ciBpbiAkY29udHJhY3QtY2hlY2tlci1jb2xvdXItZmFsbGJhY2tzIHtcclxuICAgICAgICAgICAgQGlmIGNvbG9yLWNvbnRyYXN0KCRjb2xvdXIsICRjb2xvdXItYikgPj0gJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkIHtcclxuICAgICAgICAgICAgICAgICRtYXRjaGVkLWNvbG91cjogJGNvbG91cjtcclxuICAgICAgICAgICAgICAgIEBpZiAkZGVidWcgYW5kICRkZWJ1Zy1sZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgICAgICAgICBAZGVidWcgJHNpdGUgXCJhbHRlcm5hdGl2ZSBmb3VuZCEgXCIgJG1hdGNoZWQtY29sb3VyOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEByZXR1cm4gJGNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBJZiB0aGUgcmF0aW8gaXMgYmVsb3cgdGhlIHRocmVzaG9sZCB0aGVuIHJldHVybiAkY29sb3VyLWEuXHJcbiAgICAgICAgJG1hdGNoZWQtY29sb3VyOiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRtYXRjaGVkLWNvbG91cjtcclxufVxyXG5cclxuLy8gVG8gY3JlYXRlIGFuIGlnbm9yZSBsaXN0IGFzIDpub3QoKSBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0IG11bHRpcGxlIHNlbGVjdG9ycy4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTY4NDE2MC9jYW4tdGhlLW5vdC1wc2V1ZG8tY2xhc3MtaGF2ZS1tdWx0aXBsZS1hcmd1bWVudHNcclxuQG1peGluIG5vdCgkaWdub3JMaXN0Li4uKSB7XHJcbiAgICAvL2lmIG9ubHkgYSBzaW5nbGUgdmFsdWUgZ2l2ZW5cclxuICAgIEBpZiAobGVuZ3RoKCRpZ25vckxpc3QpID09IDEpe1xyXG4gICAgICAgIC8vaXQgaXMgcHJvYmFibHkgYSBsaXN0IHZhcmlhYmxlIHNvIHNldCBpZ25vcmUgbGlzdCB0byB0aGUgdmFyaWFibGVcclxuICAgICAgICAkaWdub3JMaXN0OiBudGgoJGlnbm9yTGlzdCwxKTtcclxuICAgIH1cclxuICAgIC8vc2V0IHVwIGFuIGVtcHR5ICRub3RPdXRwdXQgdmFyaWFibGVcclxuICAgICRub3RPdXRwdXQ6ICcnO1xyXG4gICAgLy9mb3IgZWFjaCBpdGVtIGluIHRoZSBsaXN0XHJcbiAgICBAZWFjaCAkbm90IGluICRpZ25vckxpc3Qge1xyXG4gICAgICAgIC8vZ2VuZXJhdGUgYSA6bm90KFtpZ25vcmVkX2l0ZW1dKSBzZWdtZW50IGZvciBlYWNoIGl0ZW0gaW4gdGhlIGlnbm9yZSBsaXN0IGFuZCBwdXQgdGhlbSBiYWNrIHRvIGJhY2tcclxuICAgICAgICAkbm90T3V0cHV0OiAkbm90T3V0cHV0ICsgJzpub3QoI3skbm90fSknO1xyXG4gICAgfVxyXG4gICAgLy9vdXRwdXQgdGhlIGZ1bGwgOm5vdCgpIHJ1bGUgaW5jbHVkaW5nIGFsbCBpZ25vcmVkIGl0ZW1zXHJcbiAgICAmI3skbm90T3V0cHV0fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENoZWNrIHdoZXRoZXIgYSBtYXAgaGFzIGEga2V5LlxyXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YXJpYWJsZSkge1xyXG4gICAgQHJldHVybiBtYXAtaGFzLWtleSgkbGlzdCwgJHZhcmlhYmxlKTtcclxufVxyXG5cclxuLy8gR2V0IHR5cG9ncmFwaHkgZm9udCBmYW1pbHkuXHJcbkBmdW5jdGlvbiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgkZmFtaWx5OiBwcmltYXJ5LWZvbnQpIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCAkZmFtaWx5KSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICRmYW1pbHkpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gTWFrZSBhbiBhc3N1bXB0aW9uIHRoYXQgdGhlcmUgd2lsbCBhbHdheXMgYmUgYSBwcmltYXJ5LWZvbnQgZGVmaW5lZC5cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgcHJpbWFyeS1mb250KSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCBwcmltYXJ5LWZvbnQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAZXJyb3IgXCJnZXQtZm9udC1mYW1pbHk6IEZhaWxlZCB0byBmYWxsYmFjayB0byBwcmltYXJ5LWZvbnQgZm9yICN7JHNpdGV9LCBpcyBpdCBkZWZpbmVkP1wiO1xyXG4gICAgICAgICAgICBAcmV0dXJuIFwiQXJpYWxcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlcyBjb2xvdXIgcGFsbGV0ZSBiYXNlZCBvbiBhIGJhc2UgY29sb3VyIHRoZW4gbGlnaHRlbidzIGJ5IDEwJSBlYWNoIGxldmVsLlxyXG5AZnVuY3Rpb24gY3JlYXRlLWNvbG91ci12YXJpYW50cygkY29sb3VyLCAkbGV2ZWxzOiA5KSB7XHJcbiAgICAvLyBXb3Jrb3V0IGJhc2UgY29sb3VyLlxyXG4gICAgJGJhc2UtY29sb3VyOiBtYXAtZ2V0KCRjb2xvdXIsIDApO1xyXG4gICAgQGlmICgkYmFzZS1jb2xvdXIgPT0gbnVsbCkge1xyXG4gICAgICAgIEByZXR1cm4gKCk7XHJcbiAgICB9XHJcbiAgICAvLyBDcmVhdGUgbWFwIHRoYXQgbmV3IGNvbG91cnMgZ2V0IGhlbGQgaW4uXHJcbiAgICAkY29sb3VyczogKCk7XHJcbiAgICAvLyBDcmVhdGUgbmV3IGNvbG91cnMuXHJcbiAgICBAZm9yICRsZXZlbCBmcm9tIDEgdGhyb3VnaCAkbGV2ZWxzIHtcclxuICAgICAgICAvLyBCdWlsZCBzdHJlbmd0aCBiYXNlZCBvbiBjb3VudC5cclxuICAgICAgICAkc3RyZW5ndGg6IHBlcmNlbnRhZ2UoKCRsZXZlbCAvIDEwKSk7XHJcbiAgICAgICAgLy8gT3V0cHV0IENTUyB2YXJpYWJsZSB3aXRoIG5ldyBsaWdodG5lc3MuXHJcbiAgICAgICAgJG5ldy1jb2xvdXI6IHNjYWxlLWNvbG9yKCRiYXNlLWNvbG91ciwgJGxpZ2h0bmVzczogJHN0cmVuZ3RoKTtcclxuICAgICAgICAvLyBBZGQgbmV3IGNvbG91ciB0byBtYXAuXHJcbiAgICAgICAgJGNvbG91cnM6IG1hcC1tZXJnZSgkY29sb3VycywgKCRsZXZlbDogJG5ldy1jb2xvdXIpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGQgOTUlIGxpZ2h0bmVzcywgdGhpcyBpcyByZXF1aXJlZCBhcyBtb3N0IHNpdGVzIHJlcXVpcmUgYSB0b25lIGJldHdlZWVuIDkwIH4gOTglIGZvciBidXR0b25zLCBoZWFkaW5nIGJhY2tncm91bmRzIG9yIHBhbmVsIHNoYWRpbmcgKCBpLmUgYmFza2V0IHN1bW1hcnkgKS5cclxuICAgICRjb2xvdXJzOiBtYXAtbWVyZ2UoJGNvbG91cnMsICgoJGxldmVscyArIDEpOiBzY2FsZS1jb2xvcigkYmFzZS1jb2xvdXIsICRsaWdodG5lc3M6IDk1KSkpO1xyXG5cclxuICAgIC8vIFJldHVybiBuZXcgY29sb3Vycy5cclxuICAgIEByZXR1cm4gJGNvbG91cnM7XHJcbn0iLCIvKipcclxuXHJcblNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgKCBjb2xvdXJzICYgZm9udHMgKSBhbnkgc2FzcyBvdmVycmlkZXMgZ2V0IGRlZmluZWQgaGVyZSBhcyB3ZWxsLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIFlvdSBtYXliZSBjb21wZWxsZWQgdG8gd3JpdGUgYmVzcG9rZSBjc3MgcnVsZXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZSBqdXN0IHRvIG1ha2UgYSBcIiBxdWljayBcIiBzaXRlIHNwZWNpZmljIGNoYW5nZSBidXQgdGhpcyBXSUxMIGNvbmZsaWN0IHdpdGggdGhlIGNzcyBiZWluZyBkZWZpbmVkIGluIC9nbG9iYWwgYW5kIC9jb21wb25lbnQgZWl0aGVyIGZyb20gYSBjb25maWd1cmF0aW9uIHN0YW5jZSBvciByZXNwb25zaXZlIHBvaW50IG9mIHZpZXcsIHNvIHBsZWFzZSBjb25zdWx0L21vZGlmeSB0aG9zZSAyIGRpcmVjdG9yaWVzIGFzIG5lZWRlZCwgdGhpcyBmaWxlIHdhcyBvbmx5IHRvIGRlc2lnbmVkIGZvciBTQVNTIHZhcmlhYmxlcy5cclxuXHJcbioqL1xyXG4vLyBTaXRlIG5hbWUuXHJcbiRzaXRlOiAnamVsYXdyZW5jZScgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBTZXQgQnJhbmRpbmcgLS0tLS1cclxuLy8gLS0tIEZvbnRzIC0tLVxyXG4vLyB0eXBvZ3JhcGh5IFxyXG4kdHlwb2dyYXBnaHktZm9udC1mYW1pbGllcy1jZG4taW1wb3J0OiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Sb2JvdG86aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNzAwOzEsMzAwOzEsNDAwOzEsNTAwOzEsNzAwJmRpc3BsYXk9c3dhcFwiXHJcbik7XHJcblxyXG4kdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzOiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IChcIlJvYm90byBDb25kZW5zZWRcIixcIlJvYm90byBDb25kZW5zZWQgRmFsbGJhY2tcIiwgXCJBcmlhbFwiKVxyXG4pO1xyXG5cclxuJGZvbnQtZmFsbGJhY2stbWV0cmljczogKFxyXG4gICAgcHJpbWFyeTogKFxyXG4gICAgICAgIGZhbGxiYWNrOiAnQXJpYWwnLFxyXG4gICAgICAgIHNpemUtYWRqdXN0OiA5NS4zNSUsXHJcbiAgICAgICAgYXNjZW50LW92ZXJyaWRlOiA3NS4wMCUsXHJcbiAgICAgICAgZGVzY2VudC1vdmVycmlkZTogMjUuMDAlLFxyXG4gICAgICAgIGxpbmUtZ2FwLW92ZXJyaWRlOiA0Ljk4JVxyXG4gICAgKVxyXG4pO1xyXG5cclxuLy8gSWNvbnMuXHJcbi8vIEVuYWJsZSBzaXRlIHNwZWNpZmMgaWNvbnMuXHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQ6IHRydWU7XHJcbiRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9uczogdHJ1ZTtcclxuXHJcbiRjaGV2cm9uLWljb25zOiAoXHJcbiAgICB1cDogJ1xcRTgwNicsXHJcbiAgICByaWdodDogJ1xcRTgwMScsXHJcbiAgICBkb3duOiAnXFxFODFFJyxcclxuICAgIGxlZnQ6ICdcXEU4MDAnXHJcbik7XHJcblxyXG4vLyAtLS0gU2V0IENvbG91ciBQYWxsZXR0ZSAtLS0gXHJcbiRjb2xvdXI0OiAjRTkzMzMwO1xyXG4kY29sb3VyNC00OiAkY29sb3VyNDtcclxuXHJcblxyXG4vLyBJbXBvcnQgZGVmYXVsdCBicmFuZGluZyBndWlkZWxpbmVzLlxyXG5AaW1wb3J0ICcuLi8uLi9nbG9iYWwvYnJhbmRpbmcnO1xyXG5cclxuLy8gLS0tLS0gU0FTUyBvdmVycmlkZXMgLS0tLS1cclxuLy8gLS0tLS0gSGVhZGVyIC0tLS0tXHJcbi8vIERlcHJlY2F0ZWQgbW92aW5nIHRvIHJlbGF0aXZlIGxlbmd0aFxyXG4vLyAkbG9nby1jb250YWluZXItd2lkdGg6IChcclxuLy8gICAgIGxhcmdlOiA3MDBweFxyXG4vLyApO1xyXG4kaGVhZGVyLWxvZ28td2lkdGg6IChcclxuICAgIGxhcmdlOiA2MTBweCxcclxuICAgIG1pbmlmaWVkOiA0NTBweCxcclxuICAgIHNtYWxsOiAyMDBweFxyXG4pO1xyXG4kaGVhZGVyLW5hdi1yaWdodC13aWR0aDogYXV0bztcclxuJGhlYWRpbmctZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNDYuMiU7XHJcbiRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIyO1xyXG4kaGVhZGVyLXVwcGVyLXBhZGRpbmc6IDYuNXB4IDE1cHg7XHJcbiRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kaGVhZGVyLXVwcGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBhY3RpdmUpXHJcbik7XHJcbiRoZWFkZXItdXBwZXItZm9udC1zaXplOiAxNDtcclxuJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemU6IDE4O1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0OiA3MDA7XHJcbiRoZWFkZXItdXBwZXItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGhlYWRlci10YWdsaW5lLWNvbG91cjogJGNvbG91cjE7XHJcbiRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDogMi4yO1xyXG4kaGVhZGVyLXRhZ2xpbmUtbG93ZXItc3VwcHJlc3M6IHRydWU7XHJcbi8vIC0tLSBTZWFyY2ggLS0tXHJcbi8vICRoZWFkZXItc2VhcmNoLXdpZHRoOiA2MDBweDtcclxuJGhlYWRpbmctc2VhcmNoLWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemU6IDE4O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNzAwO1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzXHJcbik7XHJcbiRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuLy8gLS0tIFdlbGNvbWUgdGV4dCAtLS1cclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zaXplOiAxNjtcclxuLy8gLS0tIE1lZ2EgbWVudSAtLS1cclxuJG1lbnVzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjEsXHJcbiAgICBsYXJnZTogJGNvbG91cjRcclxuKTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQ6IDEuMjtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwLFxyXG4gICAgbGFyZ2U6IDE1XHJcbik7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDcwMCxcclxuICAgIGxhcmdlOiA3MDBcclxuKTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0LXNtYWxsOiAkY29sb3VyNCxcclxuICAgIGRlZmF1bHQtbGFyZ2U6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiRtZWdhLW1lbnUtbGluay1pY29uLXNpemU6IDEwcHg7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcbiRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplOiAxMHB4O1xyXG4kbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pO1xyXG4vLyAtLS0gVVNQJ3MgLS0tXHJcbiR1c3AtYmFyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMCA3LjVweCxcclxuICAgIGxhcmdlOiA4cHggMCA1cHhcclxuKTtcclxuJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjBcclxuKTtcclxuJHVzcC1zZXBlcmF0b3I6IGZhbHNlO1xyXG4kdXNwLWd1dHRlcjogMTBweDtcclxuJHVzcC1ib3JkZXItd2lkdGg6IDAgMCAycHggMDtcclxuJHVzcC1mb250LXN0eWxlOiBub3JtYWw7XHJcbiR1c3AtZm9udC1zaXplOiAxODtcclxuJHVzcC1mb250LXdlaWdodDogNzAwO1xyXG4kdXNwLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pO1xyXG4kdXNwLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4vLyAtLS0gQnJlYWRjcnVtYnMgLS0tIFxyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZTogMTQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbi8vIC0tLS0tIHR5cG9ncmFwaHkgLS0tLS1cclxuJGRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuNTtcclxuJHBhcmFncmFwaC1mb250LXNpemU6IDE4O1xyXG4kY21zLXBhcmFncmFwaC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xyXG4kZGVmYXVsdC1jbXMtY29weS1jb2xvdXI6ICRjb2xvdXIyO1xyXG4kZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW46IDA7XHJcbiRjbXMtaGVhZGluZy1tYXJnaW46IChcclxuICAgIGgxOiAwIDAgMzBweCxcclxuICAgIGgyOiAwIDAgMjBweCxcclxuICAgIGgzOiAkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW4sXHJcbiAgICBoNDogJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luLFxyXG4gICAgaDU6ICRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbixcclxuICAgIGg2OiAkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW5cclxuKTtcclxuJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZTogKFxyXG4gICAgaDE6IDI2LFxyXG4gICAgaDI6IDIyLFxyXG4gICAgaDM6ICRwYXJhZ3JhcGgtZm9udC1zaXplLFxyXG4gICAgaDQ6ICRwYXJhZ3JhcGgtZm9udC1zaXplLFxyXG4gICAgaDU6ICRwYXJhZ3JhcGgtZm9udC1zaXplLFxyXG4gICAgaDY6ICRwYXJhZ3JhcGgtZm9udC1zaXplXHJcbik7XHJcbiRjbXMtaGVhZGluZy11bmRlcmxpbmU6IChcclxuICAgIGgxOiBmYWxzZSxcclxuICAgIGgyOiB0cnVlLFxyXG4gICAgaDM6IHRydWVcclxuKTtcclxuJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGU6IChcclxuICAgIGgxOiBub3JtYWwsXHJcbiAgICBoMjogaXRhbGljLFxyXG4gICAgaDM6IGl0YWxpYyxcclxuICAgIGg0OiBub3JtYWwsXHJcbiAgICBoNTogbm9ybWFsLFxyXG4gICAgaDY6IG5vcm1hbFxyXG4pO1xyXG4kY21zLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBoMTogJGNvbG91cjQsXHJcbiAgICBoMjogJGNvbG91cjQsXHJcbiAgICBoMzogJGNvbG91cjQsXHJcbiAgICBoNDogJGNvbG91cjQsXHJcbiAgICBoNTogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyLFxyXG4gICAgaDY6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91clxyXG4pO1xyXG4kaGVhZGluZy0xLXVuZGVybGluZTogKFxyXG4gICAgcHJlc2V0LTE6IHRydWUsXHJcbiAgICBwcmVzZXQtMjogZmFsc2VcclxuKTtcclxuXHJcbiRoZWFkaW5nLTItZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMTgsXHJcbiAgICBwcmVzZXQtMjogMjAsXHJcbiAgICBwcmVzZXQtMzogMjIsXHJcbiAgICBwcmVzZXQtNDogMThcclxuKTtcclxuJGhlYWRpbmctMi1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiAkY29sb3VyMSxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0zOiAkY29sb3VyNCxcclxuICAgIHByZXNldC00OiAkY29sb3VyMVxyXG4pO1xyXG4kaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogJGNvbG91cjIsXHJcbiAgICBwcmVzZXQtMzogbnVsbCxcclxuICAgIHByZXNldC00OiAkY29sb3VyMlxyXG4pO1xyXG4kaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBwcmVzZXQtMTogdXBwZXJjYXNlLFxyXG4gICAgcHJlc2V0LTI6IG5vbmUsXHJcbiAgICBwcmVzZXQtMzogdXBwZXJjYXNlLFxyXG4gICAgcHJlc2V0LTQ6IHVwcGVyY2FzZVxyXG4pO1xyXG4kaGVhZGluZy0yLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbm9ybWFsLFxyXG4gICAgcHJlc2V0LTI6IG5vcm1hbCxcclxuICAgIHByZXNldC0zOiBub3JtYWwsXHJcbiAgICBwcmVzZXQtNDogLjJweFxyXG4pO1xyXG4kaGVhZGluZy0yLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiAxMHB4IDAsXHJcbiAgICBwcmVzZXQtMzogMCAwIDVweCxcclxuICAgIHByZXNldC00OiA3cHggMFxyXG4pO1xyXG4kcmVhZC1tb3JlLWZvbnQtd2VpZ2h0OiA3MDA7XHJcbiRyZWFkLW1vcmUtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kbW9kdWxlcy1jbXMtbGluay1mb250LXdlaWdodDogJHJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuXHJcbi8vIC0tLS0tIEZvcm1zIC0tLS0tXHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNDAwO1xyXG4kZmllbGQtbGFiZWwtZm9udC1zaXplOiAxODtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC13ZWlnaHQ6IDUwMDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU6IDlweDtcclxuXHJcbi8vIC0tLS0tIEJ1dHRvbnMgLS0tLS1cclxuJGlucHV0LWJvcmRlci1tYWluLWNvbG91cjogJGNvbG91cjMtMTtcclxuJGlucHV0LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMlxyXG4pO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGFya2VuKCRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsIDIyLjQlKSxcclxuICAgIGRpc2FibGVkOiByZ2JhKCRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsIDAuNyksXHJcbiAgICBhY3RpdmU6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBhY3RpdmUtaG92ZXI6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKTtcclxuJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQsXHJcbiAgICBzdGFuZGFsb25lOiA2MDBcclxuKTtcclxuJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmc6IC4xcHg7XHJcbiRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZXM6IChcclxuICAgIGFzc29jaWF0ZWQ6IDEzLFxyXG4gICAgc3RhbmRhbG9uZTogMTRcclxuKTtcclxuJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pO1xyXG4kcHJpbWFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbik7XHJcbiRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogbGlnaHRlbihkZXNhdHVyYXRlKGFkanVzdC1odWUoJGNvbG91cjQtMSwgLTclKSwgNCUpLCA0NCUpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy02LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKTtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbik7XHJcbiR0ZXJ0aWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNixcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbik7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pO1xyXG4kcXVhdGVybmFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKTtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbik7XHJcbiRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyNC0xLCAwLjIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LCBcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJHN1Y2Nlc3MtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjYsIDAuMiksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiR3YXJuaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pO1xyXG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKTtcclxuJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pIDtcclxuJGFsZXJ0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcbiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJHN0b2NrbGluZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbik7XHJcbiRjbXMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcbiRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pO1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemU6IDIwcHg7XHJcbiRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCwgXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbik7XHJcbiRiYXNrZXQtYnV0dG9uLWJvcmRlcjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIyLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKTtcclxuXHJcblxyXG4vLyAtLS0tLSBNb2R1bGVzIC0tLS0tIFxyXG4kY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDEwcHgsIDI1cHgpLFxyXG4gICAgbGFyZ2U6ICgyMHB4LCA1MHB4KVxyXG4pO1xyXG5cclxuLy8gLS0tLS0gQ29sbGVjdGlvbnMgIC0tLS0tIFxyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0OiB0cnVlO1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aDogMXB4O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKTtcclxuLy8gLS0tIENhcm91c2VscyAtLS0gXHJcbiRieC1jb250cm9scy1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogNDVweCxcclxuICAgIG5vcm1hbDogMzBweCxcclxuICAgIGxhcmdlOiA0NXB4XHJcbik7XHJcbiRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiRieC1jb250cm9scy1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxNHB4LFxyXG4gICAgbGFyZ2U6IDE0cHhcclxuKTtcclxuJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nOiA5cHggMCAyMHB4O1xyXG5cclxuXHJcbi8vIC0tLS0tIEFjY29yZGlvbiAtLS0tLSBcclxuJHRhYnMtdGl0bGUtaWNvbi1zaXplOiAxMHB4O1xyXG4kYWNjb3JkaW9ucy1hcnJvdy1mb250LXNpemU6ICR0YWJzLXRpdGxlLWljb24tc2l6ZTtcclxuJGFjY29yZGlvbnMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbi8vIC0tLS0tIFByb2R1Y3QgUGFnZSAtLS0tLVxyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMjtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIyXHJcbik7XHJcbiRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxZnIsXHJcbiAgICBtZWRpdW06IDUwJSxcclxuICAgIGxhcmdlOiA0NSVcclxuKTtcclxuXHJcbi8vIC0tLS0tIFNvY2lhbCBtZWRpYSBpY29ucyAtLS0tLS1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDVweCxcclxuICAgIGxhcmdlOiAwIDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1czogMDtcclxuJHNvY2lhbC1pY29ucy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pO1xyXG4kc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKTtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKTtcclxuXHJcbi8vIC0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tIFxyXG4kYmFjay10by10b3AtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTNweCxcclxuICAgIGxhcmdlOiAxN3B4XHJcbik7XHJcblxyXG4vLyAtLS0tLSBGb290ZXIgLS0tLS0tIFxyXG4kZm9vdGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDAgMTBweCxcclxuICAgIG1lZGl1bTogMjVweCAxMHB4IDAsXHJcbiAgICBsYXJnZTogMjVweCAwIDBcclxuKTtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmc6IDE1cHggMDtcclxuJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS13aWR0aDogYXV0bztcclxuJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiBhdXRvIDBcclxuKTtcclxuJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgMzVweFxyXG4pO1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3I6IHRydWU7XHJcbiRmb290ZXItcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDAsXHJcbiAgICBsYXJnZTogMCAxNXB4XHJcbik7XHJcbiRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiRmb290ZXItcGFyZW50LWZvbnQtc2l6ZTogMTg7XHJcbiRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IGZpdC1jb250ZW50XHJcbik7XHJcbiRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kOiAkY29sb3VyMjtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDogNDAwO1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZTogMTg7XHJcbiRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ246IChcclxuICAgIHNtYWxsOiBsZWZ0LFxyXG4gICAgbGFyZ2U6IGxlZnRcclxuKTtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXdlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcblxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGFjdGl2ZSlcclxuKTtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byAwLFxyXG4gICAgbGFyZ2U6IDAgYXV0b1xyXG4pO1xyXG4iLCIvLyAtLS0tLSBCcmFuZGluZyAtLS0tLVxyXG5cclxuLy8gSWYgdGhlc2UgZ2xvYmFsIHZhcmlhYmxlcyBhcmUgbm90IGF2YWlsYWJsZSB0aGVuIGRlZmF1bHQgdG8gdGhlIGZvbGxvd2luZywgdGhpcyB3YXMgcHV0IGluIGR1ZSB0byBhIGNvbXBhdGliaWxpdHkgaXNzdWUgYmV0d2VlbiBzYXNzLWV4dHJhY3QgYW5kIHNhc3MtdmFyaWFibGVzIHdoZW4gY3JlYXRpbmcgdGhlIG1hbmlmZXN0IGZpbGVzLlxyXG4kZW1haWxUZW1wbGF0ZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRlbnZpcm9ubWVudDogXCJkZXZlbG9wbWVudFwiICFkZWZhdWx0O1xyXG5cclxuJGRlYnVnOiBmYWxzZSAhZGVmYXVsdDtcclxuJGRlYnVnLWxldmVsOiAxICFkZWZhdWx0O1xyXG5cclxuJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeTogJy90ZW1wbGF0ZS9jb250ZW50LycgKyAkZW52aXJvbm1lbnQgIWRlZmF1bHQ7XHJcbiRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5OiAkc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5ICsgJy9pbWFnZXMvaWNvbnMvJyAhZGVmYXVsdDtcclxuJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICcvY2FsbHMvJyAhZGVmYXVsdDtcclxuJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3Rvcnk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvJyAhZGVmYXVsdDtcclxuJHNoYXJlZC1idXR0b25zLWRpcmVjdG9yeTogJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeSArICcvaW1hZ2VzL2J1dHRvbnMvJyAhZGVmYXVsdDtcclxuJHNoYXJlZC13ZWJmb250cy1kaXJlY3Rvcnk6ICRzaGFyZWQtY29udGVudC1kaXJlY3RvcnkgKyAnL2Nzcy93ZWJmb250cy8nICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFNpdGUgY29sb3VyIHBhbGV0dGVcclxuLy9UcmFuc3BhcmVudFxyXG4kY29sb3VyMDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vL1doaXRlXHJcbiRjb2xvdXIxOiAjZmZmZmZmICFkZWZhdWx0O1xyXG5cclxuLy9CbGFja1xyXG4kY29sb3VyMjogIzAwMDAwMCAhZGVmYXVsdDtcclxuXHJcbi8vR3JleVxyXG4kY29sb3VyMzogI2VlZWVlZSAhZGVmYXVsdDtcclxuLy9TTElHSFRMWSBEQVJLRVIgR1JFWVxyXG4vLyRjb2xvdXIzLTE6ICNkYWRhZGEgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTE6IGRhcmtlbigkY29sb3VyMywgOCUpICFkZWZhdWx0O1xyXG4vL1NsaWdodGx5IFNsaWdodGx5IERhcmtlciBHcmV5XHJcbi8vJGNvbG91cjMtMjogI2IyYjJiMiAhZGVmYXVsdDtcclxuJGNvbG91cjMtMjogZGFya2VuKCRjb2xvdXIzLCAyNSUpICFkZWZhdWx0O1xyXG4vL0RhcmtlciBHcmV5IFxyXG4vLyRjb2xvdXIzLTM6ICM4ODg4ODggIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTM6IGRhcmtlbigkY29sb3VyMywgMzUlKSAhZGVmYXVsdDtcclxuLy9WZXJ5IExpZ2h0IEdyZXlcclxuLy8kY29sb3VyMy00OiAjY2ZjZmNmICFkZWZhdWx0O1xyXG4kY29sb3VyMy00OiBkYXJrZW4oJGNvbG91cjMsIDE1JSkgIWRlZmF1bHQ7XHJcbi8vIEdyZXlcclxuLy8kY29sb3VyMy01OiAjZjNmM2YzICFkZWZhdWx0O1xyXG4kY29sb3VyMy01OiBsaWdodGVuKCRjb2xvdXIzLCAyJSkgIWRlZmF1bHQ7XHJcbi8vIERhcmsgR3JleVxyXG4vLyRjb2xvdXIzLTY6ICM0NDQ0NDQgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTY6IGRhcmtlbigkY29sb3VyMywgNjUlKSAhZGVmYXVsdDtcclxuLy8gU2xpZ2h0bHkgc2xpZ2h0bHkgZGFya2VyIGdyZXkuXHJcbi8vJGNvbG91cjMtNzogIzdhN2E3YSAhZGVmYXVsdDtcclxuJGNvbG91cjMtNzogZGFya2VuKCRjb2xvdXIzLCA0NSUpICFkZWZhdWx0O1xyXG5cclxuJG5ldXRyYWwtY29sb3VyOiAoXHJcbiAgICAwOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRuZXV0cmFsLWNvbG91cjogbWFwLW1lcmdlKCRuZXV0cmFsLWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkbmV1dHJhbC1jb2xvdXIpKTtcclxuXHJcbi8vR3JlZW4gXHJcbiRjb2xvdXI0OiAjMTI4MTFmICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1jb2xvdXI6IChcclxuICAgIDA6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRwcmltYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkcHJpbWFyeS1jb2xvdXIpKTtcclxuLy8gTElHSFRFUiBHUkVFTlxyXG4vLyRjb2xvdXI0LTE6ICMyNGNhMWMgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTE6IGRlc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNCwgMTklKSwgMTAlKSAhZGVmYXVsdDtcclxuLy8gREFSS0VSIEdSRUVOIFxyXG4vLyRjb2xvdXI0LTI6ICM0MTlhNGMgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTI6IGRlc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNCwgMTIlKSwgMjUlKSAhZGVmYXVsdDtcclxuLy8gUGFsZVxyXG4vLyRjb2xvdXI0LTM6ICM2YWFkNzIgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTM6IGRlc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNCwgMjMlKSwgNTAlKSAhZGVmYXVsdDtcclxuLy8gTGlnaHRpc2ggUGFsZSBHcmVlbi5cclxuLy8kY29sb3VyNC00OiAjYThkM2E2ICFkZWZhdWx0O1xyXG4kY29sb3VyNC00OiBkZXNhdHVyYXRlKGFkanVzdC1odWUobGlnaHRlbigkY29sb3VyNCwgNDUlKSwgLTEwJSksIDQ2JSkgIWRlZmF1bHQ7XHJcbi8vREFSS0lTSCBQQUxFIEdSRUVOXHJcbi8vJGNvbG91cjQtNTogIzU0YTE1ZCAhZGVmYXVsdDtcclxuJGNvbG91cjQtNTogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAxOCUpLCAzNyUpICFkZWZhdWx0O1xyXG4vLyBMaWdodCAoIHZlcnkgd2FzaGVkIG91dCApXHJcbi8vJGNvbG91cjQtNjogI2RjZjdkYiAhZGVmYXVsdDtcclxuJGNvbG91cjQtNjogZGVzYXR1cmF0ZShhZGp1c3QtaHVlKGxpZ2h0ZW4oJGNvbG91cjQsIDYzJSksIC0xMCUpLCAyMiUpICFkZWZhdWx0O1xyXG4vLyBRdWl0ZSBkYXJrLlxyXG4vLyRjb2xvdXI0LTc6ICMwMTgwMmIgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTc6IHNhdHVyYXRlKGFkanVzdC1odWUoZGFya2VuKCRjb2xvdXI0LCAzJSksIDEzJSksIDIwJSkgIWRlZmF1bHQ7XHJcblxyXG4vL09yYW5nZVxyXG4kY29sb3VyNjogI2ZmNmYyMCAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1jb2xvdXI6IChcclxuICAgIDA6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRzZWNvbmRhcnktY29sb3VyOiBtYXAtbWVyZ2UoJHNlY29uZGFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHNlY29uZGFyeS1jb2xvdXIpKTtcclxuLy9EYXJrIE9yYW5nZVxyXG4vLyRjb2xvdXI2LTE6ICNkMTQ2MjggIWRlZmF1bHQ7XHJcbiRjb2xvdXI2LTE6IGRlc2F0dXJhdGUoYWRqdXN0LWh1ZShkYXJrZW4oJGNvbG91cjYsIDEyJSksIC04JSksIDEwJSkgIWRlZmF1bHQ7XHJcbi8vIFNsaWdodGx5IGxpZ2h0ZXIgb3JhbmdlXHJcbi8vJGNvbG91cjYtMjogI2ZmYzQzOSAhZGVmYXVsdDtcclxuJGNvbG91cjYtMjogYWRqdXN0LWh1ZShsaWdodGVuKCRjb2xvdXI2LCA2JSksIDIwJSkgIWRlZmF1bHQ7XHJcbi8vIFZlcnkgbGlnaHQgb3JhbmdlIGJ1dCBzbGlnaHRseSBkYXJrXHJcbi8vJGNvbG91cjYtMzogI2ZlYjQwMSAhZGVmYXVsdDtcclxuJGNvbG91cjYtMzogYWRqdXN0LWh1ZShkYXJrZW4oJGNvbG91cjYsIDYlKSwgMjAlKSAhZGVmYXVsdDtcclxuLy8gTm90IHJlYWxseSBvcmFuZ2UgYnV0IGdvaW5nIHRvIHB1dCBpdCBoZXJlIGFueXdheVxyXG4vLyRjb2xvdXI2LTM6ICNmZmYwZWEgIWRlZmF1bHQ7XHJcbi8vJGNvbG91cjYtMjogbGlnaHRlbigkY29sb3VyNiwgMzglKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDEgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTE6IChcclxuICAgIDA6ICNjMDAwMDBcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItMTogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTEsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItMSkpO1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgMiAtLS1cclxuJGFjY2VudC1jb2xvdXItMjogKFxyXG4gICAgMDogIzJiNTc5YVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci0yOiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItMiwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci0yKSk7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciAzIC0tLVxyXG4kYWNjZW50LWNvbG91ci0zOiAoXHJcbiAgICAwOiAjZTViNzAxXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTM6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci0zLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTMpKTtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDQgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTQ6IChcclxuICAgIDA6ICNhMjM0ZTNcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItNDogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTQsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItNCkpO1xyXG5cclxuLy8gU3VjY2Vzc1xyXG4kc3VjY2Vzcy1jb2xvdXI6IChcclxuICAgIDA6ICMxMjgxMWZcclxuKSAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtY29sb3VyOiBtYXAtbWVyZ2UoJHN1Y2Nlc3MtY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRzdWNjZXNzLWNvbG91cikpO1xyXG5cclxuLy8gV2FybmluZyBcclxuJHdhcm5pbmctY29sb3VyOiAoXHJcbiAgICAwOiAjZmY1ZTA1XHJcbikgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nLWNvbG91cjogbWFwLW1lcmdlKCR3YXJuaW5nLWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkd2FybmluZy1jb2xvdXIpKTtcclxuXHJcbi8vIEFsZXJ0XHJcbiRhbGVydC1jb2xvdXI6IChcclxuICAgIDA6ICNiMjBjMGNcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWNvbG91cjogbWFwLW1lcmdlKCRhbGVydC1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFsZXJ0LWNvbG91cikpO1xyXG5cclxuLy8kYWxlcnQtY29sb3VyOiAjYjIwYzBjICFkZWZhdWx0O1xyXG4vLyRhbGVydC1jb2xvdXItMTogI2ZlZTdlNyAhZGVmYXVsdDtcclxuXHJcbi8vIFRoaXMgaXMgYSBoYWNrIGFuZCBzaG91bGQgdXNlIGRlcGFydG1lbnQgY29sb3Vycy4uLi5cclxuJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI6ICM2NjMzOTkgIWRlZmF1bHQ7XHJcbiRkZXBhcnRtZW50LXdlYi1iYXNlLWNvbG91cjogIzVmN2IyNyAhZGVmYXVsdDtcclxuJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjogIzMzNjY5OSFkZWZhdWx0O1xyXG5cclxuLy8gU2l0ZSBzdHlsZSBjb2xvdXIgb3ZlcnJpZGVzLlxyXG4kc2l0ZS1zdHlsZXMtY29sb3VyczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBGb250cyAtLS0tLSBcclxuLy8gLS0tIFR5cGdyYXBoZ3kgLS0tXHJcbi8vIEZvbnQgSW1wb3J0c1xyXG4kdHlwb2dyYXBnaHktZm9udC1mYW1pbGllcy1jZG4taW1wb3J0OiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDYwMCw3MDAsODAwJmRpc3BsYXk9c3dhcFwiIC8vT3BlbiBTYW5zXHJcbikgIWRlZmF1bHQ7XHJcbi8vIExvb3AgdGhyb3VnaCBlYWNoIGZhbWlseSBpbXBvcnRpbmcgdGhlbS5cclxuQGVhY2ggJGZvbnQtZmFtaWx5LCAkbG9jYXRpb24gaW4gJHR5cG9ncmFwZ2h5LWZvbnQtZmFtaWxpZXMtY2RuLWltcG9ydCB7XHJcbiAgICBAaW1wb3J0IHVybCgkbG9jYXRpb24pO1xyXG59XHJcblxyXG4vLyBGb250IENvbmZpZ3VyYXRpb24uXHJcbi8vIFdoZW4gcHJvdmlkaW5nIGEgZm9udCBzdGFjayBnaXZlIHRoZSBkZXNpcmVkIGZvbnQsIHRoZW4gdXNpbmcgdGhlIHNlY29uZCBwYXJhbXRlciBhcyB0aGUgZmFsbGJhY2sgZm9yIHRoYXQgZm9udCB3aGlsc3QgaXRzIGxvYWRpbmcgaW4gKCBlLmcuIEFyaWFsIG9yIEdlb2xvZ2ljYSApIGFuZCB0aGVuIFwiQXJpYWxcIiBhcyB0aGUgdGhpcmQgZm9yIGJlbHQgYW5kIGJyYWNlcy5cclxuJHR5cG9ncmFnaHktZm9udC1mYW1pbGllczogKFxyXG4gICAgcHJpbWFyeS1mb250OiAoXCJPcGVuIFNhbnNcIiwgXCJPcGVuIFNhbnMgRmFsbGJhY2tcIiwgXCJBcmlhbFwiKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtZmFsbGJhY2stbWV0cmljczogKFxyXG4gICAgcHJpbWFyeTogKFxyXG4gICAgICAgIGZhbGxiYWNrOiAnQXJpYWwnLFxyXG4gICAgICAgIHNpemUtYWRqdXN0OiAxMDkuMDQlLFxyXG4gICAgICAgIGFzY2VudC1vdmVycmlkZTogMTA2Ljg4JSxcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiAyOS4zMCUsXHJcbiAgICAgICAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlXHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gSWNvbnMgLS0tXHJcbi8vIEZvbnQgQXdlc29tZS5cclxuJGZvbnRBd2Vzb21lQnJhbmRzOiBcIkZvbnQgQXdlc29tZSBCcmFuZHNcIiAhZGVmYXVsdDtcclxuJGZvbnRBd2Vzb21lU29saWQ6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCIgIWRlZmF1bHQ7XHJcbiRmb250QXdlc29tZVJlZ3VsYXI6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIiAhZGVmYXVsdDtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2ZvbnRhd2Vzb21lXCI7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9icmFuZHNcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3JlZ3VsYXJcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3NvbGlkXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy92NC1zaGltc1wiO1xyXG5cclxuQGlmIG5vdCAkZW1haWxUZW1wbGF0ZSB7XHJcbiAgICAvLyBDb25maWd1cmUgdGhlIHBhZ2Ugb2YgdGhlIHN0YXRpYyBmb250IGZpbGVzLlxyXG4gICAgJGZhLWZvbnQtcGF0aDogJHNoYXJlZC13ZWJmb250cy1kaXJlY3RvcnkgKyAnZm9udGF3ZXNvbWUvJztcclxuICAgIC8vIEJyYW5kcyBJY29uc1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgQnJhbmRzJztcclxuICAgICAgICBzcmM6IHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLWJyYW5kcy00MDAud29mZjInKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtYnJhbmRzLTQwMC53b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLWJyYW5kcy00MDAudHRmJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXNpemU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9IFxyXG4gICAgXHJcbiAgICAvLyBTb2xpZCBJY29uc1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgU29saWQnO1xyXG4gICAgICAgIHNyYzogdXJsKCRmYS1mb250LXBhdGggKyAnZmEtc29saWQtOTAwLndvZmYyJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXNvbGlkLTkwMC53b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXNvbGlkLTkwMC50dGYnKTtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDsgLy8gVG8gcHJldmVudCBzaG93aW5nIGludmlzaWJsZSBmb250cyB3aGlsZSBsb2FkaW5nIGN1c3RvbSBmb250cyBodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2RvY3MvbGlnaHRob3VzZS9wZXJmb3JtYW5jZS9mb250LWRpc3BsYXkvP3V0bV9zb3VyY2U9bGlnaHRob3VzZSZ1dG1fbWVkaXVtPWRldnRvb2xzXHJcbiAgICB9IFxyXG4gICAgLy8gUmVndWxhciBJY29ucyBcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIFJlZ3VsYXInO1xyXG4gICAgICAgIHNyYzogdXJsKCRmYS1mb250LXBhdGggKyAnZmEtcmVndWxhci00MDAud29mZjInKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtcmVndWxhci00MDAud29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1yZWd1bGFyLTQwMC50dGYnKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH0gXHJcbn1cclxuXHJcbi8vIEN1c3RvbSBpY29ucy5cclxuLy8gRGVmYXVsdCBleHByZXNzIGljb24gZm9udCBmYW1pbHkuXHJcbiRleHByZXNzLWRlZmF1bHQtaWNvbnM6ICdmb250ZWxsbycgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWljb25zLWZvbnQtcGF0aDogJHNoYXJlZC13ZWJmb250cy1kaXJlY3RvcnkgKyAnZm9udGVsbG8tZXhwcmVzcy8nO1xyXG4vLyBEZWZhdWx0IGV4cHJlc3MgaWNvbnMuXHJcbkBpZiBub3QgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgc3JjOiB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby5zdmcnKSBmb3JtYXQoJ3N2ZycpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfVxyXG59XHJcbi8vIFNpdGUgc3BlY2lmaWMgaWNvbnMgZm9udC5cclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtZmFtaWx5OiAnZm9udGVsbG8tJyArICRzaXRlICFkZWZhdWx0O1xyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGg6ICRzaGFyZWQtd2ViZm9udHMtZGlyZWN0b3J5ICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArIFwiL1wiICFkZWZhdWx0O1xyXG4vLyBHZXQgc2l0ZSBzcGVjaWZjIGljb24gZm9udCBmYW1pbHkuXHJcbkBpZiAkc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTtcclxuICAgICAgICBzcmM6IHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy5zdmcnKSBmb3JtYXQoJ3N2ZycpLFxyXG4gICAgICAgICAgICB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgICB1cmwoJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLScgKyAkc2l0ZSArICcud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfVxyXG59XHJcbi8vIElmIGVtYWlsIHRlbXBsYXRlIHRoZW4gZm9yY2UgZm9udCBmYW1pbHkgdG8gYmUgT3BlbiBTYW5zIGR1ZSBub3QgYmVpbmcgYWJsZSB0byBpbmplY3QgY3VzdG9tIGZvbnQgZmFtaWxpZXMgaW50byBlbWFpbCB0ZW1wbGF0ZXMuXHJcbkBpZiAkZW1haWxUZW1wbGF0ZSB7XHJcbiAgICAkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzOiAoXHJcbiAgICAgICAgcHJpbWFyeS1mb250OiAoXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkFyaWFsXCIpXHJcbiAgICApO1xyXG59XHJcblxyXG4vLy0tLSBCb3JkZXIgUmFkaXVzIFByZXNldHMgLS0tXHJcbiRib3JkZXJSYWRpdXMxOiA1cHggIWRlZmF1bHQ7XHJcbiRib3JkZXJSYWRpdXMyOiAoJGJvcmRlclJhZGl1czEgKiA1KSAhZGVmYXVsdDtcclxuXHJcbi8vLS0tIFRyYW5zaXRpb24gVGltaW5ncyAtLS1cclxuJHRyYW5zaXRpb25JbnRybzogMC42cyAhZGVmYXVsdDtcclxuJHRyYW5zaXRpb25PdXRybzogMC44cyAhZGVmYXVsdDtcclxuXHJcbi8vLS0tIEtub2NrYmFjayBQcmVzZXRzIC0tLVxyXG4ka25vY2tCYWNrMTogMC42ICFkZWZhdWx0O1xyXG4ka25vY2tCYWNrMjogMC45ICFkZWZhdWx0O1xyXG5cclxuLy8tLS0gQm94IFNoYWRvd3MgLS0tXHJcbiRib3hTaGFkb3cxOiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpICFkZWZhdWx0O1xyXG4kYm94U2hhZG93MjogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKSAhZGVmYXVsdDtcclxuJGJveFNoYWRvdzM6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMikgIWRlZmF1bHQ7XHJcbiRib3hTaGFkb3c0OiAycHggLTNweCAyMHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDklKSAhZGVmYXVsdDsiLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LXN0eWxlLWZhbWlseS1icmFuZHM6ICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBCcmFuZHMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogJGZhLWZvbnQtZGlzcGxheTtcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtYnJhbmRzLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbi5mYWIsXG4uI3skZmEtY3NzLXByZWZpeH0tYnJhbmRzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQGVhY2ggJG5hbWUsICRpY29uIGluICRmYS1icmFuZC1pY29ucyB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS0jeyRuYW1lfTpiZWZvcmUgeyBjb250ZW50OiB1bnF1b3RlKFwiXFxcIiN7ICRpY29uIH1cXFwiXCIpOyB9XG59XG4iLCIvLyB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1jc3MtcHJlZml4ICAgICAgICAgIDogZmEgIWRlZmF1bHQ7XG4kZmEtc3R5bGUgICAgICAgICAgICAgICA6IDkwMCAhZGVmYXVsdDtcbiRmYS1zdHlsZS1mYW1pbHkgICAgICAgIDogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIgIWRlZmF1bHQ7XG5cbiRmYS1kaXNwbGF5ICAgICAgICAgICAgIDogaW5saW5lLWJsb2NrICFkZWZhdWx0O1xuXG4kZmEtZnctd2lkdGggICAgICAgICAgICA6IGZhLWRpdmlkZSgyMGVtLCAxNikgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZSAgICAgICAgICAgICA6ICNmZmYgIWRlZmF1bHQ7XG5cbiRmYS1ib3JkZXItY29sb3IgICAgICAgIDogI2VlZSAhZGVmYXVsdDtcbiRmYS1ib3JkZXItcGFkZGluZyAgICAgIDogLjJlbSAuMjVlbSAuMTVlbSAhZGVmYXVsdDtcbiRmYS1ib3JkZXItcmFkaXVzICAgICAgIDogLjFlbSAhZGVmYXVsdDtcbiRmYS1ib3JkZXItc3R5bGUgICAgICAgIDogc29saWQgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLXdpZHRoICAgICAgICA6IC4wOGVtICFkZWZhdWx0O1xuXG4kZmEtc2l6ZS1zY2FsZS0yeHMgICAgICA6IDEwICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUteHMgICAgICAgOiAxMiAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLXNtICAgICAgIDogMTQgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS1iYXNlICAgICA6IDE2ICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtbGcgICAgICAgOiAyMCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLXhsICAgICAgIDogMjQgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS0yeGwgICAgICA6IDMyICFkZWZhdWx0O1xuXG4kZmEtc2l6ZXM6IChcbiAgXCIyeHNcIiAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS0yeHMsXG4gIFwieHNcIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUteHMsXG4gIFwic21cIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtc20sXG4gIFwibGdcIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtbGcsXG4gIFwieGxcIiAgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUteGwsXG4gIFwiMnhsXCIgICAgICAgICAgICAgICAgIDogJGZhLXNpemUtc2NhbGUtMnhsXG4pICFkZWZhdWx0O1xuXG4kZmEtbGktd2lkdGggICAgICAgICAgICA6IDJlbSAhZGVmYXVsdDtcbiRmYS1saS1tYXJnaW4gICAgICAgICAgIDogJGZhLWxpLXdpZHRoICogZmEtZGl2aWRlKDUsIDQpICFkZWZhdWx0O1xuXG4kZmEtcHVsbC1tYXJnaW4gICAgICAgICA6IC4zZW0gIWRlZmF1bHQ7XG5cbiRmYS1wcmltYXJ5LW9wYWNpdHkgICAgIDogMSAhZGVmYXVsdDtcbiRmYS1zZWNvbmRhcnktb3BhY2l0eSAgIDogLjQgIWRlZmF1bHQ7XG5cbiRmYS1zdGFjay12ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFkZWZhdWx0O1xuJGZhLXN0YWNrLXdpZHRoICAgICAgICAgOiAoJGZhLWZ3LXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZmEtc3RhY2stei1pbmRleCAgICAgICA6IGF1dG8gIWRlZmF1bHQ7XG5cbiRmYS1mb250LWRpc3BsYXkgICAgICAgIDogYmxvY2sgIWRlZmF1bHQ7XG4kZmEtZm9udC1wYXRoICAgICAgICAgICA6IFwiLi4vd2ViZm9udHNcIiAhZGVmYXVsdDtcblxuJGZhLXZhci0wOiBcXDMwO1xuJGZhLXZhci0xOiBcXDMxO1xuJGZhLXZhci0yOiBcXDMyO1xuJGZhLXZhci0zOiBcXDMzO1xuJGZhLXZhci00OiBcXDM0O1xuJGZhLXZhci01OiBcXDM1O1xuJGZhLXZhci02OiBcXDM2O1xuJGZhLXZhci03OiBcXDM3O1xuJGZhLXZhci04OiBcXDM4O1xuJGZhLXZhci05OiBcXDM5O1xuJGZhLXZhci1maWxsLWRyaXA6IFxcZjU3NjtcbiRmYS12YXItYXJyb3dzLXRvLWNpcmNsZTogXFxlNGJkO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1hdDogXFw0MDtcbiRmYS12YXItdHJhc2gtY2FuOiBcXGYyZWQ7XG4kZmEtdmFyLXRyYXNoLWFsdDogXFxmMmVkO1xuJGZhLXZhci10ZXh0LWhlaWdodDogXFxmMDM0O1xuJGZhLXZhci11c2VyLXhtYXJrOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXItdGltZXM6IFxcZjIzNTtcbiRmYS12YXItc3RldGhvc2NvcGU6IFxcZjBmMTtcbiRmYS12YXItbWVzc2FnZTogXFxmMjdhO1xuJGZhLXZhci1jb21tZW50LWFsdDogXFxmMjdhO1xuJGZhLXZhci1pbmZvOiBcXGYxMjk7XG4kZmEtdmFyLWRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyOiBcXGY0MjI7XG4kZmEtdmFyLWNvbXByZXNzLWFsdDogXFxmNDIyO1xuJGZhLXZhci1leHBsb3Npb246IFxcZTRlOTtcbiRmYS12YXItZmlsZS1saW5lczogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLXRleHQ6IFxcZjE1YztcbiRmYS12YXItd2F2ZS1zcXVhcmU6IFxcZjgzZTtcbiRmYS12YXItcmluZzogXFxmNzBiO1xuJGZhLXZhci1idWlsZGluZy11bjogXFxlNGQ5O1xuJGZhLXZhci1kaWNlLXRocmVlOiBcXGY1Mjc7XG4kZmEtdmFyLWNhbGVuZGFyLWRheXM6IFxcZjA3MztcbiRmYS12YXItY2FsZW5kYXItYWx0OiBcXGYwNzM7XG4kZmEtdmFyLWFuY2hvci1jaXJjbGUtY2hlY2s6IFxcZTRhYTtcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0OiBcXGU0ZDE7XG4kZmEtdmFyLXZvbGxleWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItdm9sbGV5YmFsbC1iYWxsOiBcXGY0NWY7XG4kZmEtdmFyLWFycm93cy11cC10by1saW5lOiBcXGU0YzI7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LWRlc2M6IFxcZjBkZDtcbiRmYS12YXItY2lyY2xlLW1pbnVzOiBcXGYwNTY7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXFxmMDU2O1xuJGZhLXZhci1kb29yLW9wZW46IFxcZjUyYjtcbiRmYS12YXItcmlnaHQtZnJvbS1icmFja2V0OiBcXGYyZjU7XG4kZmEtdmFyLXNpZ24tb3V0LWFsdDogXFxmMmY1O1xuJGZhLXZhci1hdG9tOiBcXGY1ZDI7XG4kZmEtdmFyLXNvYXA6IFxcZTA2ZTtcbiRmYS12YXItaWNvbnM6IFxcZjg2ZDtcbiRmYS12YXItaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHQ6IFxcZjg2ZDtcbiRmYS12YXItbWljcm9waG9uZS1saW5lcy1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1icmlkZ2UtY2lyY2xlLWNoZWNrOiBcXGU0Yzk7XG4kZmEtdmFyLXB1bXAtbWVkaWNhbDogXFxlMDZhO1xuJGZhLXZhci1maW5nZXJwcmludDogXFxmNTc3O1xuJGZhLXZhci1oYW5kLXBvaW50LXJpZ2h0OiBcXGYwYTQ7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItc2VhcmNoLWxvY2F0aW9uOiBcXGY2ODk7XG4kZmEtdmFyLWZvcndhcmQtc3RlcDogXFxmMDUxO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFxcZjA1MTtcbiRmYS12YXItZmFjZS1zbWlsZS1iZWFtOiBcXGY1Yjg7XG4kZmEtdmFyLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItZmxhZy1jaGVja2VyZWQ6IFxcZjExZTtcbiRmYS12YXItZm9vdGJhbGw6IFxcZjQ0ZTtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1zY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NmM7XG4kZmEtdmFyLWNyb3A6IFxcZjEyNTtcbiRmYS12YXItYW5nbGVzLWRvd246IFxcZjEwMztcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFxcZjEwMztcbiRmYS12YXItdXNlcnMtcmVjdGFuZ2xlOiBcXGU1OTQ7XG4kZmEtdmFyLXBlb3BsZS1yb29mOiBcXGU1Mzc7XG4kZmEtdmFyLXBlb3BsZS1saW5lOiBcXGU1MzQ7XG4kZmEtdmFyLWJlZXItbXVnLWVtcHR5OiBcXGYwZmM7XG4kZmEtdmFyLWJlZXI6IFxcZjBmYztcbiRmYS12YXItZGlhZ3JhbS1wcmVkZWNlc3NvcjogXFxlNDc3O1xuJGZhLXZhci1hcnJvdy11cC1sb25nOiBcXGYxNzY7XG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFxcZjE3NjtcbiRmYS12YXItZmlyZS1mbGFtZS1zaW1wbGU6IFxcZjQ2YTtcbiRmYS12YXItYnVybjogXFxmNDZhO1xuJGZhLXZhci1wZXJzb246IFxcZjE4MztcbiRmYS12YXItbWFsZTogXFxmMTgzO1xuJGZhLXZhci1sYXB0b3A6IFxcZjEwOTtcbiRmYS12YXItZmlsZS1jc3Y6IFxcZjZkZDtcbiRmYS12YXItbWVub3JhaDogXFxmNjc2O1xuJGZhLXZhci10cnVjay1wbGFuZTogXFxlNThmO1xuJGZhLXZhci1yZWNvcmQtdmlueWw6IFxcZjhkOTtcbiRmYS12YXItZmFjZS1ncmluLXN0YXJzOiBcXGY1ODc7XG4kZmEtdmFyLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItYm9uZzogXFxmNTVjO1xuJGZhLXZhci1zcGFnaGV0dGktbW9uc3Rlci1mbHlpbmc6IFxcZjY3YjtcbiRmYS12YXItcGFzdGFmYXJpYW5pc206IFxcZjY3YjtcbiRmYS12YXItYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZTogXFxlNGFmO1xuJGZhLXZhci1zcG9vbjogXFxmMmU1O1xuJGZhLXZhci11dGVuc2lsLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLWphci13aGVhdDogXFxlNTE3O1xuJGZhLXZhci1lbnZlbG9wZXMtYnVsazogXFxmNjc0O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItZmlsZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRlYjtcbiRmYS12YXItY2lyY2xlLWg6IFxcZjQ3ZTtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLXBhZ2VyOiBcXGY4MTU7XG4kZmEtdmFyLWFkZHJlc3MtYm9vazogXFxmMmI5O1xuJGZhLXZhci1jb250YWN0LWJvb2s6IFxcZjJiOTtcbiRmYS12YXItc3RyaWtldGhyb3VnaDogXFxmMGNjO1xuJGZhLXZhci1rOiBcXDRiO1xuJGZhLXZhci1sYW5kbWFyay1mbGFnOiBcXGU1MWM7XG4kZmEtdmFyLXBlbmNpbDogXFxmMzAzO1xuJGZhLXZhci1wZW5jaWwtYWx0OiBcXGYzMDM7XG4kZmEtdmFyLWJhY2t3YXJkOiBcXGYwNGE7XG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcXGYwZGE7XG4kZmEtdmFyLWNvbW1lbnRzOiBcXGYwODY7XG4kZmEtdmFyLXBhc3RlOiBcXGYwZWE7XG4kZmEtdmFyLWZpbGUtY2xpcGJvYXJkOiBcXGYwZWE7XG4kZmEtdmFyLWNvZGUtcHVsbC1yZXF1ZXN0OiBcXGUxM2M7XG4kZmEtdmFyLWNsaXBib2FyZC1saXN0OiBcXGY0NmQ7XG4kZmEtdmFyLXRydWNrLXJhbXAtYm94OiBcXGY0ZGU7XG4kZmEtdmFyLXRydWNrLWxvYWRpbmc6IFxcZjRkZTtcbiRmYS12YXItdXNlci1jaGVjazogXFxmNGZjO1xuJGZhLXZhci12aWFsLXZpcnVzOiBcXGU1OTc7XG4kZmEtdmFyLXNoZWV0LXBsYXN0aWM6IFxcZTU3MTtcbiRmYS12YXItYmxvZzogXFxmNzgxO1xuJGZhLXZhci11c2VyLW5pbmphOiBcXGY1MDQ7XG4kZmEtdmFyLXBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmU6IFxcZTUzOTtcbiRmYS12YXItc2Nyb2xsLXRvcmFoOiBcXGY2YTA7XG4kZmEtdmFyLXRvcmFoOiBcXGY2YTA7XG4kZmEtdmFyLWJyb29tLWJhbGw6IFxcZjQ1ODtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aWRkaXRjaC1icm9vbS1iYWxsOiBcXGY0NTg7XG4kZmEtdmFyLXRvZ2dsZS1vZmY6IFxcZjIwNDtcbiRmYS12YXItYm94LWFyY2hpdmU6IFxcZjE4NztcbiRmYS12YXItYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1wZXJzb24tZHJvd25pbmc6IFxcZTU0NTtcbiRmYS12YXItYXJyb3ctZG93bi05LTE6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLWRlc2M6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLWRvd24tYWx0OiBcXGY4ODY7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtc3F1aW50OiBcXGY1OGE7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludDogXFxmNThhO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItdHJ1Y2stbW9uc3RlcjogXFxmNjNiO1xuJGZhLXZhci13OiBcXDU3O1xuJGZhLXZhci1lYXJ0aC1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItZ2xvYmUtYWZyaWNhOiBcXGY1N2M7XG4kZmEtdmFyLXJhaW5ib3c6IFxcZjc1YjtcbiRmYS12YXItY2lyY2xlLW5vdGNoOiBcXGYxY2U7XG4kZmEtdmFyLXRhYmxldC1zY3JlZW4tYnV0dG9uOiBcXGYzZmE7XG4kZmEtdmFyLXRhYmxldC1hbHQ6IFxcZjNmYTtcbiRmYS12YXItcGF3OiBcXGYxYjA7XG4kZmEtdmFyLWNsb3VkOiBcXGYwYzI7XG4kZmEtdmFyLXRyb3dlbC1icmlja3M6IFxcZTU4YTtcbiRmYS12YXItZmFjZS1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItaG9zcGl0YWwtdXNlcjogXFxmODBkO1xuJGZhLXZhci10ZW50LWFycm93LWxlZnQtcmlnaHQ6IFxcZTU3ZjtcbiRmYS12YXItZ2F2ZWw6IFxcZjBlMztcbiRmYS12YXItbGVnYWw6IFxcZjBlMztcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLWJveC10aXNzdWU6IFxcZTA1YjtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1iZWxsLWNvbmNpZXJnZTogXFxmNTYyO1xuJGZhLXZhci1jb25jaWVyZ2UtYmVsbDogXFxmNTYyO1xuJGZhLXZhci1wZW4tcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVuY2lsLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0OiBcXGUwNjg7XG4kZmEtdmFyLW1hcnMtYW5kLXZlbnVzLWJ1cnN0OiBcXGU1MjM7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQ6IFxcZjE1MjtcbiRmYS12YXItc2Npc3NvcnM6IFxcZjBjNDtcbiRmYS12YXItY3V0OiBcXGYwYzQ7XG4kZmEtdmFyLXN1bi1wbGFudC13aWx0OiBcXGU1N2E7XG4kZmEtdmFyLXRvaWxldHMtcG9ydGFibGU6IFxcZTU4NDtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItdGFibGU6IFxcZjBjZTtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodDogXFxlNTIxO1xuJGZhLXZhci10YWNob2dyYXBoLWRpZ2l0YWw6IFxcZjU2NjtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLXVzZXJzLXNsYXNoOiBcXGUwNzM7XG4kZmEtdmFyLWNsb3ZlcjogXFxlMTM5O1xuJGZhLXZhci1yZXBseTogXFxmM2U1O1xuJGZhLXZhci1tYWlsLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLXN0YXItYW5kLWNyZXNjZW50OiBcXGY2OTk7XG4kZmEtdmFyLWhvdXNlLWZpcmU6IFxcZTUwYztcbiRmYS12YXItc3F1YXJlLW1pbnVzOiBcXGYxNDY7XG4kZmEtdmFyLW1pbnVzLXNxdWFyZTogXFxmMTQ2O1xuJGZhLXZhci1oZWxpY29wdGVyOiBcXGY1MzM7XG4kZmEtdmFyLWNvbXBhc3M6IFxcZjE0ZTtcbiRmYS12YXItc3F1YXJlLWNhcmV0LWRvd246IFxcZjE1MDtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWRvd246IFxcZjE1MDtcbiRmYS12YXItZmlsZS1jaXJjbGUtcXVlc3Rpb246IFxcZTRlZjtcbiRmYS12YXItbGFwdG9wLWNvZGU6IFxcZjVmYztcbiRmYS12YXItc3dhdGNoYm9vazogXFxmNWMzO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLWJhcnM6IFxcZjBjOTtcbiRmYS12YXItbmF2aWNvbjogXFxmMGM5O1xuJGZhLXZhci1wZW9wbGUtZ3JvdXA6IFxcZTUzMztcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtMzogXFxmMjUzO1xuJGZhLXZhci1oZWFydC1jcmFjazogXFxmN2E5O1xuJGZhLXZhci1oZWFydC1icm9rZW46IFxcZjdhOTtcbiRmYS12YXItc3F1YXJlLXVwLXJpZ2h0OiBcXGYzNjA7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDogXFxmMzYwO1xuJGZhLXZhci1mYWNlLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1raXNzLWJlYW06IFxcZjU5NztcbiRmYS12YXItZmlsbTogXFxmMDA4O1xuJGZhLXZhci1ydWxlci1ob3Jpem9udGFsOiBcXGY1NDc7XG4kZmEtdmFyLXBlb3BsZS1yb2JiZXJ5OiBcXGU1MzY7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcXGYwZDk7XG4kZmEtdmFyLWNpcmNsZS1leGNsYW1hdGlvbjogXFxmMDZhO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFxcZjA2YTtcbiRmYS12YXItc2Nob29sLWNpcmNsZS14bWFyazogXFxlNTZkO1xuJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWJyYWNrZXQ6IFxcZjA4YjtcbiRmYS12YXItc2lnbi1vdXQ6IFxcZjA4YjtcbiRmYS12YXItY2lyY2xlLWNoZXZyb24tZG93bjogXFxmMTNhO1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duOiBcXGYxM2E7XG4kZmEtdmFyLXVubG9jay1rZXlob2xlOiBcXGYxM2U7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1oZWFkcGhvbmVzLXNpbXBsZTogXFxmNThmO1xuJGZhLXZhci1oZWFkcGhvbmVzLWFsdDogXFxmNThmO1xuJGZhLXZhci1zaXRlbWFwOiBcXGYwZTg7XG4kZmEtdmFyLWNpcmNsZS1kb2xsYXItdG8tc2xvdDogXFxmNGI5O1xuJGZhLXZhci1kb25hdGU6IFxcZjRiOTtcbiRmYS12YXItbWVtb3J5OiBcXGY1Mzg7XG4kZmEtdmFyLXJvYWQtc3Bpa2VzOiBcXGU1Njg7XG4kZmEtdmFyLWZpcmUtYnVybmVyOiBcXGU0ZjE7XG4kZmEtdmFyLWZsYWc6IFxcZjAyNDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItZmVhdGhlcjogXFxmNTJkO1xuJGZhLXZhci12b2x1bWUtbG93OiBcXGYwMjc7XG4kZmEtdmFyLXZvbHVtZS1kb3duOiBcXGYwMjc7XG4kZmEtdmFyLWNvbW1lbnQtc2xhc2g6IFxcZjRiMztcbiRmYS12YXItY2xvdWQtc3VuLXJhaW46IFxcZjc0MztcbiRmYS12YXItY29tcHJlc3M6IFxcZjA2NjtcbiRmYS12YXItd2hlYXQtYXduOiBcXGUyY2Q7XG4kZmEtdmFyLXdoZWF0LWFsdDogXFxlMmNkO1xuJGZhLXZhci1hbmtoOiBcXGY2NDQ7XG4kZmEtdmFyLWhhbmRzLWhvbGRpbmctY2hpbGQ6IFxcZTRmYTtcbiRmYS12YXItYXN0ZXJpc2s6IFxcMmE7XG4kZmEtdmFyLXNxdWFyZS1jaGVjazogXFxmMTRhO1xuJGZhLXZhci1jaGVjay1zcXVhcmU6IFxcZjE0YTtcbiRmYS12YXItcGVzZXRhLXNpZ246IFxcZTIyMTtcbiRmYS12YXItaGVhZGluZzogXFxmMWRjO1xuJGZhLXZhci1oZWFkZXI6IFxcZjFkYztcbiRmYS12YXItZ2hvc3Q6IFxcZjZlMjtcbiRmYS12YXItbGlzdDogXFxmMDNhO1xuJGZhLXZhci1saXN0LXNxdWFyZXM6IFxcZjAzYTtcbiRmYS12YXItc3F1YXJlLXBob25lLWZsaXA6IFxcZjg3YjtcbiRmYS12YXItcGhvbmUtc3F1YXJlLWFsdDogXFxmODdiO1xuJGZhLXZhci1jYXJ0LXBsdXM6IFxcZjIxNztcbiRmYS12YXItZ2FtZXBhZDogXFxmMTFiO1xuJGZhLXZhci1jaXJjbGUtZG90OiBcXGYxOTI7XG4kZmEtdmFyLWRvdC1jaXJjbGU6IFxcZjE5MjtcbiRmYS12YXItZmFjZS1kaXp6eTogXFxmNTY3O1xuJGZhLXZhci1kaXp6eTogXFxmNTY3O1xuJGZhLXZhci1lZ2c6IFxcZjdmYjtcbiRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcms6IFxcZTUxMztcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1mb2xkZXItcGx1czogXFxmNjVlO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZnV0Ym9sLWJhbGw6IFxcZjFlMztcbiRmYS12YXItc29jY2VyLWJhbGw6IFxcZjFlMztcbiRmYS12YXItcGFpbnRicnVzaDogXFxmMWZjO1xuJGZhLXZhci1wYWludC1icnVzaDogXFxmMWZjO1xuJGZhLXZhci1sb2NrOiBcXGYwMjM7XG4kZmEtdmFyLWdhcy1wdW1wOiBcXGY1MmY7XG4kZmEtdmFyLWhvdC10dWItcGVyc29uOiBcXGY1OTM7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItbWFwLWxvY2F0aW9uOiBcXGY1OWY7XG4kZmEtdmFyLW1hcC1tYXJrZWQ6IFxcZjU5ZjtcbiRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXI6IFxcZTUwZTtcbiRmYS12YXItdHJlZTogXFxmMWJiO1xuJGZhLXZhci1icmlkZ2UtbG9jazogXFxlNGNjO1xuJGZhLXZhci1zYWNrLWRvbGxhcjogXFxmODFkO1xuJGZhLXZhci1wZW4tdG8tc3F1YXJlOiBcXGYwNDQ7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItY2FyLXNpZGU6IFxcZjVlNDtcbiRmYS12YXItc2hhcmUtbm9kZXM6IFxcZjFlMDtcbiRmYS12YXItc2hhcmUtYWx0OiBcXGYxZTA7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1taW51czogXFxlNGZmO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3MtMjogXFxmMjUyO1xuJGZhLXZhci1taWNyb3Njb3BlOiBcXGY2MTA7XG4kZmEtdmFyLXNpbms6IFxcZTA2ZDtcbiRmYS12YXItYmFnLXNob3BwaW5nOiBcXGYyOTA7XG4kZmEtdmFyLXNob3BwaW5nLWJhZzogXFxmMjkwO1xuJGZhLXZhci1hcnJvdy1kb3duLXotYTogXFxmODgxO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdDogXFxmODgxO1xuJGZhLXZhci1taXR0ZW46IFxcZjdiNTtcbiRmYS12YXItcGVyc29uLXJheXM6IFxcZTU0ZDtcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItZXllLXNsYXNoOiBcXGYwNzA7XG4kZmEtdmFyLWZsYXNrLXZpYWw6IFxcZTRmMztcbiRmYS12YXItaGFuZDogXFxmMjU2O1xuJGZhLXZhci1oYW5kLXBhcGVyOiBcXGYyNTY7XG4kZmEtdmFyLW9tOiBcXGY2Nzk7XG4kZmEtdmFyLXdvcm06IFxcZTU5OTtcbiRmYS12YXItaG91c2UtY2lyY2xlLXhtYXJrOiBcXGU1MGI7XG4kZmEtdmFyLXBsdWc6IFxcZjFlNjtcbiRmYS12YXItY2hldnJvbi11cDogXFxmMDc3O1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLXN0b3B3YXRjaDogXFxmMmYyO1xuJGZhLXZhci1mYWNlLWtpc3M6IFxcZjU5NjtcbiRmYS12YXIta2lzczogXFxmNTk2O1xuJGZhLXZhci1icmlkZ2UtY2lyY2xlLXhtYXJrOiBcXGU0Y2I7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWU6IFxcZjU4OTtcbiRmYS12YXItZ3Jpbi10b25ndWU6IFxcZjU4OTtcbiRmYS12YXItY2hlc3MtYmlzaG9wOiBcXGY0M2E7XG4kZmEtdmFyLWZhY2UtZ3Jpbi13aW5rOiBcXGY1OGM7XG4kZmEtdmFyLWdyaW4td2luazogXFxmNThjO1xuJGZhLXZhci1lYXItZGVhZjogXFxmMmE0O1xuJGZhLXZhci1kZWFmOiBcXGYyYTQ7XG4kZmEtdmFyLWRlYWZuZXNzOiBcXGYyYTQ7XG4kZmEtdmFyLWhhcmQtb2YtaGVhcmluZzogXFxmMmE0O1xuJGZhLXZhci1yb2FkLWNpcmNsZS1jaGVjazogXFxlNTY0O1xuJGZhLXZhci1kaWNlLWZpdmU6IFxcZjUyMztcbiRmYS12YXItc3F1YXJlLXJzczogXFxmMTQzO1xuJGZhLXZhci1yc3Mtc3F1YXJlOiBcXGYxNDM7XG4kZmEtdmFyLWxhbmQtbWluZS1vbjogXFxlNTFiO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1zdGFtcDogXFxmNWJmO1xuJGZhLXZhci1zdGFpcnM6IFxcZTI4OTtcbiRmYS12YXItaTogXFw0OTtcbiRmYS12YXItaHJ5dm5pYS1zaWduOiBcXGY2ZjI7XG4kZmEtdmFyLWhyeXZuaWE6IFxcZjZmMjtcbiRmYS12YXItcGlsbHM6IFxcZjQ4NDtcbiRmYS12YXItZmFjZS1ncmluLXdpZGU6IFxcZjU4MTtcbiRmYS12YXItZ3Jpbi1hbHQ6IFxcZjU4MTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdjogXFw1NjtcbiRmYS12YXItYmFuZ2xhZGVzaGktdGFrYS1zaWduOiBcXGUyZTY7XG4kZmEtdmFyLWJpY3ljbGU6IFxcZjIwNjtcbiRmYS12YXItc3RhZmYtc25ha2U6IFxcZTU3OTtcbiRmYS12YXItcm9kLWFzY2xlcGl1czogXFxlNTc5O1xuJGZhLXZhci1yb2Qtc25ha2U6IFxcZTU3OTtcbiRmYS12YXItc3RhZmYtYWVzY3VsYXBpdXM6IFxcZTU3OTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLXRydWNrLW1lZGljYWw6IFxcZjBmOTtcbiRmYS12YXItYW1idWxhbmNlOiBcXGYwZjk7XG4kZmEtdmFyLXdoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU5ODtcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1tb3J0YXItcGVzdGxlOiBcXGY1YTc7XG4kZmEtdmFyLXJvYWQtYmFycmllcjogXFxlNTYyO1xuJGZhLXZhci1zY2hvb2w6IFxcZjU0OTtcbiRmYS12YXItaWdsb286IFxcZjdhZTtcbiRmYS12YXItam9pbnQ6IFxcZjU5NTtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFxcZjEwNTtcbiRmYS12YXItaG9yc2U6IFxcZjZmMDtcbiRmYS12YXItcTogXFw1MTtcbiRmYS12YXItZzogXFw0NztcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTI6IFxcZjJjOTtcbiRmYS12YXItdGhlcm1vbWV0ZXItMjogXFxmMmM5O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLWRvbmctc2lnbjogXFxlMTY5O1xuJGZhLXZhci1jYXBzdWxlczogXFxmNDZiO1xuJGZhLXZhci1wb28tc3Rvcm06IFxcZjc1YTtcbiRmYS12YXItcG9vLWJvbHQ6IFxcZjc1YTtcbiRmYS12YXItZmFjZS1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1tb25leS1iaWxsOiBcXGYwZDY7XG4kZmEtdmFyLWJvb2ttYXJrOiBcXGYwMmU7XG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFxcZjAzOTtcbiRmYS12YXItdW1icmVsbGEtYmVhY2g6IFxcZjVjYTtcbiRmYS12YXItaGVsbWV0LXVuOiBcXGU1MDM7XG4kZmEtdmFyLWJ1bGxzZXllOiBcXGYxNDA7XG4kZmEtdmFyLWJhY29uOiBcXGY3ZTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtZG93bjogXFxmMGE3O1xuJGZhLXZhci1hcnJvdy11cC1mcm9tLWJyYWNrZXQ6IFxcZTA5YTtcbiRmYS12YXItZm9sZGVyOiBcXGYwN2I7XG4kZmEtdmFyLWZvbGRlci1ibGFuazogXFxmMDdiO1xuJGZhLXZhci1maWxlLXdhdmVmb3JtOiBcXGY0Nzg7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQ6IFxcZjQ3ODtcbiRmYS12YXItcmFkaWF0aW9uOiBcXGY3Yjk7XG4kZmEtdmFyLWNoYXJ0LXNpbXBsZTogXFxlNDczO1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci12aWFsOiBcXGY0OTI7XG4kZmEtdmFyLWdhdWdlOiBcXGY2MjQ7XG4kZmEtdmFyLWRhc2hib2FyZDogXFxmNjI0O1xuJGZhLXZhci1nYXVnZS1tZWQ6IFxcZjYyNDtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQtYXZlcmFnZTogXFxmNjI0O1xuJGZhLXZhci13YW5kLW1hZ2ljLXNwYXJrbGVzOiBcXGUyY2E7XG4kZmEtdmFyLW1hZ2ljLXdhbmQtc3BhcmtsZXM6IFxcZTJjYTtcbiRmYS12YXItZTogXFw0NTtcbiRmYS12YXItcGVuLWNsaXA6IFxcZjMwNTtcbiRmYS12YXItcGVuLWFsdDogXFxmMzA1O1xuJGZhLXZhci1icmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU0Y2E7XG4kZmEtdmFyLXVzZXI6IFxcZjAwNztcbiRmYS12YXItc2Nob29sLWNpcmNsZS1jaGVjazogXFxlNTZiO1xuJGZhLXZhci1kdW1wc3RlcjogXFxmNzkzO1xuJGZhLXZhci12YW4tc2h1dHRsZTogXFxmNWI2O1xuJGZhLXZhci1zaHV0dGxlLXZhbjogXFxmNWI2O1xuJGZhLXZhci1idWlsZGluZy11c2VyOiBcXGU0ZGE7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWhpZ2hsaWdodGVyOiBcXGY1OTE7XG4kZmEtdmFyLWtleTogXFxmMDg0O1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1nbG9iZTogXFxmMGFjO1xuJGZhLXZhci1zeW5hZ29ndWU6IFxcZjY5YjtcbiRmYS12YXItcGVyc29uLWhhbGYtZHJlc3M6IFxcZTU0ODtcbiRmYS12YXItcm9hZC1icmlkZ2U6IFxcZTU2MztcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFxcZjEyNDtcbiRmYS12YXItYzogXFw0MztcbiRmYS12YXItdGFibGV0LWJ1dHRvbjogXFxmMTBhO1xuJGZhLXZhci1idWlsZGluZy1sb2NrOiBcXGU0ZDY7XG4kZmEtdmFyLXBpenphLXNsaWNlOiBcXGY4MTg7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZTogXFxmNTNhO1xuJGZhLXZhci1jaGFydC1hcmVhOiBcXGYxZmU7XG4kZmEtdmFyLWFyZWEtY2hhcnQ6IFxcZjFmZTtcbiRmYS12YXItaG91c2UtZmxhZzogXFxlNTBkO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLW1pbnVzOiBcXGU1NDA7XG4kZmEtdmFyLWJhbjogXFxmMDVlO1xuJGZhLXZhci1jYW5jZWw6IFxcZjA1ZTtcbiRmYS12YXItY2FtZXJhLXJvdGF0ZTogXFxlMGQ4O1xuJGZhLXZhci1zcHJheS1jYW4tc3BhcmtsZXM6IFxcZjVkMDtcbiRmYS12YXItYWlyLWZyZXNoZW5lcjogXFxmNWQwO1xuJGZhLXZhci1zdGFyOiBcXGYwMDU7XG4kZmEtdmFyLXJlcGVhdDogXFxmMzYzO1xuJGZhLXZhci1jcm9zczogXFxmNjU0O1xuJGZhLXZhci1ib3g6IFxcZjQ2NjtcbiRmYS12YXItdmVudXMtbWFyczogXFxmMjI4O1xuJGZhLXZhci1hcnJvdy1wb2ludGVyOiBcXGYyNDU7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbWF4aW1pemU6IFxcZjMxZTtcbiRmYS12YXItZXhwYW5kLWFycm93cy1hbHQ6IFxcZjMxZTtcbiRmYS12YXItY2hhcmdpbmctc3RhdGlvbjogXFxmNWU3O1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItdHJpYW5nbGUtY2lyY2xlLXNxdWFyZTogXFxmNjFmO1xuJGZhLXZhci1zaHVmZmxlOiBcXGYwNzQ7XG4kZmEtdmFyLXJhbmRvbTogXFxmMDc0O1xuJGZhLXZhci1wZXJzb24tcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLW1vYmlsZS1yZXRybzogXFxlNTI3O1xuJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsOiBcXGY3YTU7XG4kZmEtdmFyLXNwaWRlcjogXFxmNzE3O1xuJGZhLXZhci1oYW5kcy1ib3VuZDogXFxlNGY5O1xuJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyOiBcXGY1NzE7XG4kZmEtdmFyLXBsYW5lLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTU2O1xuJGZhLXZhci14LXJheTogXFxmNDk3O1xuJGZhLXZhci1zcGVsbC1jaGVjazogXFxmODkxO1xuJGZhLXZhci1zbGFzaDogXFxmNzE1O1xuJGZhLXZhci1jb21wdXRlci1tb3VzZTogXFxmOGNjO1xuJGZhLXZhci1tb3VzZTogXFxmOGNjO1xuJGZhLXZhci1hcnJvdy1yaWdodC10by1icmFja2V0OiBcXGYwOTA7XG4kZmEtdmFyLXNpZ24taW46IFxcZjA5MDtcbiRmYS12YXItc2hvcC1zbGFzaDogXFxlMDcwO1xuJGZhLXZhci1zdG9yZS1hbHQtc2xhc2g6IFxcZTA3MDtcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXZpcnVzLWNvdmlkLXNsYXNoOiBcXGU0YTk7XG4kZmEtdmFyLXNob3AtbG9jazogXFxlNGE1O1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91cmdsYXNzLTE6IFxcZjI1MTtcbiRmYS12YXItYmxlbmRlci1waG9uZTogXFxmNmI2O1xuJGZhLXZhci1idWlsZGluZy13aGVhdDogXFxlNGRiO1xuJGZhLXZhci1wZXJzb24tYnJlYXN0ZmVlZGluZzogXFxlNTNhO1xuJGZhLXZhci1yaWdodC10by1icmFja2V0OiBcXGYyZjY7XG4kZmEtdmFyLXNpZ24taW4tYWx0OiBcXGYyZjY7XG4kZmEtdmFyLXZlbnVzOiBcXGYyMjE7XG4kZmEtdmFyLXBhc3Nwb3J0OiBcXGY1YWI7XG4kZmEtdmFyLWhlYXJ0LXB1bHNlOiBcXGYyMWU7XG4kZmEtdmFyLWhlYXJ0YmVhdDogXFxmMjFlO1xuJGZhLXZhci1wZW9wbGUtY2FycnktYm94OiBcXGY0Y2U7XG4kZmEtdmFyLXBlb3BsZS1jYXJyeTogXFxmNGNlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLW1pY3JvY2hpcDogXFxmMmRiO1xuJGZhLXZhci1jcm93bjogXFxmNTIxO1xuJGZhLXZhci13ZWlnaHQtaGFuZ2luZzogXFxmNWNkO1xuJGZhLXZhci14bWFya3MtbGluZXM6IFxcZTU5YTtcbiRmYS12YXItZmlsZS1wcmVzY3JpcHRpb246IFxcZjU3MjtcbiRmYS12YXItd2VpZ2h0LXNjYWxlOiBcXGY0OTY7XG4kZmEtdmFyLXdlaWdodDogXFxmNDk2O1xuJGZhLXZhci11c2VyLWdyb3VwOiBcXGY1MDA7XG4kZmEtdmFyLXVzZXItZnJpZW5kczogXFxmNTAwO1xuJGZhLXZhci1hcnJvdy11cC1hLXo6IFxcZjE1ZTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItZmFjZS1sYXVnaC1zcXVpbnQ6IFxcZjU5YjtcbiRmYS12YXItbGF1Z2gtc3F1aW50OiBcXGY1OWI7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFxcZjE5MztcbiRmYS12YXItY2lyY2xlLWFycm93LXVwOiBcXGYwYWE7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci10b2dnbGUtb246IFxcZjIwNTtcbiRmYS12YXItcGVyc29uLXdhbGtpbmc6IFxcZjU1NDtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci1sOiBcXDRjO1xuJGZhLXZhci1maXJlOiBcXGYwNmQ7XG4kZmEtdmFyLWJlZC1wdWxzZTogXFxmNDg3O1xuJGZhLXZhci1wcm9jZWR1cmVzOiBcXGY0ODc7XG4kZmEtdmFyLXNodXR0bGUtc3BhY2U6IFxcZjE5NztcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXFxmMTk3O1xuJGZhLXZhci1mYWNlLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWxhdWdoOiBcXGY1OTk7XG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcXGYwN2M7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1wbHVzOiBcXGU1MDA7XG4kZmEtdmFyLWNvZGUtZm9yazogXFxlMTNiO1xuJGZhLXZhci1jaXR5OiBcXGY2NGY7XG4kZmEtdmFyLW1pY3JvcGhvbmUtbGluZXM6IFxcZjNjOTtcbiRmYS12YXItbWljcm9waG9uZS1hbHQ6IFxcZjNjOTtcbiRmYS12YXItcGVwcGVyLWhvdDogXFxmODE2O1xuJGZhLXZhci11bmxvY2s6IFxcZjA5YztcbiRmYS12YXItY29sb24tc2lnbjogXFxlMTQwO1xuJGZhLXZhci1oZWFkc2V0OiBcXGY1OTA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXJvYWQtY2lyY2xlLXhtYXJrOiBcXGU1NjY7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItbWFycy1zdHJva2UtdXA6IFxcZjIyYTtcbiRmYS12YXItbWFycy1zdHJva2UtdjogXFxmMjJhO1xuJGZhLXZhci1jaGFtcGFnbmUtZ2xhc3NlczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1jaGVlcnM6IFxcZjc5ZjtcbiRmYS12YXItY2xpcGJvYXJkOiBcXGYzMjg7XG4kZmEtdmFyLWhvdXNlLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTBhO1xuJGZhLXZhci1maWxlLWFycm93LXVwOiBcXGY1NzQ7XG4kZmEtdmFyLWZpbGUtdXBsb2FkOiBcXGY1NzQ7XG4kZmEtdmFyLXdpZmk6IFxcZjFlYjtcbiRmYS12YXItd2lmaS0zOiBcXGYxZWI7XG4kZmEtdmFyLXdpZmktc3Ryb25nOiBcXGYxZWI7XG4kZmEtdmFyLWJhdGg6IFxcZjJjZDtcbiRmYS12YXItYmF0aHR1YjogXFxmMmNkO1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdXNlci1wZW46IFxcZjRmZjtcbiRmYS12YXItdXNlci1lZGl0OiBcXGY0ZmY7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zdHJvb3B3YWZlbDogXFxmNTUxO1xuJGZhLXZhci1ib2xkOiBcXGYwMzI7XG4kZmEtdmFyLWFuY2hvci1sb2NrOiBcXGU0YWQ7XG4kZmEtdmFyLWJ1aWxkaW5nLW5nbzogXFxlNGQ3O1xuJGZhLXZhci1tYW5hdC1zaWduOiBcXGUxZDU7XG4kZmEtdmFyLW5vdC1lcXVhbDogXFxmNTNlO1xuJGZhLXZhci1ib3JkZXItdG9wLWxlZnQ6IFxcZjg1MztcbiRmYS12YXItYm9yZGVyLXN0eWxlOiBcXGY4NTM7XG4kZmEtdmFyLW1hcC1sb2NhdGlvbi1kb3Q6IFxcZjVhMDtcbiRmYS12YXItbWFwLW1hcmtlZC1hbHQ6IFxcZjVhMDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1zcXVhcmUtcG9sbC12ZXJ0aWNhbDogXFxmNjgxO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLW11Zy1ob3Q6IFxcZjdiNjtcbiRmYS12YXItY2FyLWJhdHRlcnk6IFxcZjVkZjtcbiRmYS12YXItYmF0dGVyeS1jYXI6IFxcZjVkZjtcbiRmYS12YXItZ2lmdDogXFxmMDZiO1xuJGZhLXZhci1kaWNlLXR3bzogXFxmNTI4O1xuJGZhLXZhci1jaGVzcy1xdWVlbjogXFxmNDQ1O1xuJGZhLXZhci1nbGFzc2VzOiBcXGY1MzA7XG4kZmEtdmFyLWNoZXNzLWJvYXJkOiBcXGY0M2M7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1jaGVjazogXFxlNGQyO1xuJGZhLXZhci1wZXJzb24tY2hhbGtib2FyZDogXFxlNTNkO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1yaWdodDogXFxmMjJiO1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLWhhbmQtYmFjay1maXN0OiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtcm9jazogXFxmMjU1O1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtdXA6IFxcZjE1MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLXVwOiBcXGYxNTE7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnMtd2F0ZXI6IFxcZTRlNDtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWJhci1jaGFydDogXFxmMDgwO1xuJGZhLXZhci1oYW5kcy1idWJibGVzOiBcXGUwNWU7XG4kZmEtdmFyLWhhbmRzLXdhc2g6IFxcZTA1ZTtcbiRmYS12YXItbGVzcy10aGFuLWVxdWFsOiBcXGY1Mzc7XG4kZmEtdmFyLXRyYWluOiBcXGYyMzg7XG4kZmEtdmFyLWV5ZS1sb3ctdmlzaW9uOiBcXGYyYTg7XG4kZmEtdmFyLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItY3JvdzogXFxmNTIwO1xuJGZhLXZhci1zYWlsYm9hdDogXFxlNDQ1O1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXFxmMmQyO1xuJGZhLXZhci1zcXVhcmUtcGx1czogXFxmMGZlO1xuJGZhLXZhci1wbHVzLXNxdWFyZTogXFxmMGZlO1xuJGZhLXZhci10b3JpaS1nYXRlOiBcXGY2YTE7XG4kZmEtdmFyLWZyb2c6IFxcZjUyZTtcbiRmYS12YXItYnVja2V0OiBcXGU0Y2Y7XG4kZmEtdmFyLWltYWdlOiBcXGYwM2U7XG4kZmEtdmFyLW1pY3JvcGhvbmU6IFxcZjEzMDtcbiRmYS12YXItY293OiBcXGY2Yzg7XG4kZmEtdmFyLWNhcmV0LXVwOiBcXGYwZDg7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyOiBcXGY1NGE7XG4kZmEtdmFyLWZvbGRlci1jbG9zZWQ6IFxcZTE4NTtcbiRmYS12YXItaG91c2UtdHN1bmFtaTogXFxlNTE1O1xuJGZhLXZhci1zcXVhcmUtbmZpOiBcXGU1NzY7XG4kZmEtdmFyLWFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyOiBcXGU0YjU7XG4kZmEtdmFyLW1hcnRpbmktZ2xhc3M6IFxcZjU3YjtcbiRmYS12YXItZ2xhc3MtbWFydGluaS1hbHQ6IFxcZjU3YjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFxcZjJlYTtcbiRmYS12YXItcm90YXRlLWJhY2s6IFxcZjJlYTtcbiRmYS12YXItcm90YXRlLWJhY2t3YXJkOiBcXGYyZWE7XG4kZmEtdmFyLXVuZG8tYWx0OiBcXGYyZWE7XG4kZmEtdmFyLXRhYmxlLWNvbHVtbnM6IFxcZjBkYjtcbiRmYS12YXItY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1sZW1vbjogXFxmMDk0O1xuJGZhLXZhci1oZWFkLXNpZGUtbWFzazogXFxlMDYzO1xuJGZhLXZhci1oYW5kc2hha2U6IFxcZjJiNTtcbiRmYS12YXItZ2VtOiBcXGYzYTU7XG4kZmEtdmFyLWRvbGx5OiBcXGY0NzI7XG4kZmEtdmFyLWRvbGx5LWJveDogXFxmNDcyO1xuJGZhLXZhci1zbW9raW5nOiBcXGY0OGQ7XG4kZmEtdmFyLW1pbmltaXplOiBcXGY3OGM7XG4kZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQ6IFxcZjc4YztcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItc25vd3Bsb3c6IFxcZjdkMjtcbiRmYS12YXItYW5nbGVzLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1jYW5uYWJpczogXFxmNTVmO1xuJGZhLXZhci1jaXJjbGUtcGxheTogXFxmMTQ0O1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXFxmMTQ0O1xuJGZhLXZhci10YWJsZXRzOiBcXGY0OTA7XG4kZmEtdmFyLWV0aGVybmV0OiBcXGY3OTY7XG4kZmEtdmFyLWV1cm8tc2lnbjogXFxmMTUzO1xuJGZhLXZhci1ldXI6IFxcZjE1MztcbiRmYS12YXItZXVybzogXFxmMTUzO1xuJGZhLXZhci1jaGFpcjogXFxmNmMwO1xuJGZhLXZhci1jaXJjbGUtY2hlY2s6IFxcZjA1ODtcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcXGYwNTg7XG4kZmEtdmFyLWNpcmNsZS1zdG9wOiBcXGYyOGQ7XG4kZmEtdmFyLXN0b3AtY2lyY2xlOiBcXGYyOGQ7XG4kZmEtdmFyLWNvbXBhc3MtZHJhZnRpbmc6IFxcZjU2ODtcbiRmYS12YXItZHJhZnRpbmctY29tcGFzczogXFxmNTY4O1xuJGZhLXZhci1wbGF0ZS13aGVhdDogXFxlNTVhO1xuJGZhLXZhci1pY2ljbGVzOiBcXGY3YWQ7XG4kZmEtdmFyLXBlcnNvbi1zaGVsdGVyOiBcXGU1NGY7XG4kZmEtdmFyLW5ldXRlcjogXFxmMjJjO1xuJGZhLXZhci1pZC1iYWRnZTogXFxmMmMxO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItZmFjZS1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItaGVsaWNvcHRlci1zeW1ib2w6IFxcZTUwMjtcbiRmYS12YXItdW5pdmVyc2FsLWFjY2VzczogXFxmMjlhO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1sYXJpLXNpZ246IFxcZTFjODtcbiRmYS12YXItdm9sY2FubzogXFxmNzcwO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodDogXFxlNTUzO1xuJGZhLXZhci1zdGVybGluZy1zaWduOiBcXGYxNTQ7XG4kZmEtdmFyLWdicDogXFxmMTU0O1xuJGZhLXZhci1wb3VuZC1zaWduOiBcXGYxNTQ7XG4kZmEtdmFyLXZpcnVzZXM6IFxcZTA3NjtcbiRmYS12YXItc3F1YXJlLXBlcnNvbi1jb25maW5lZDogXFxlNTc3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci1hcnJvdy1kb3duLWxvbmc6IFxcZjE3NTtcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcXGYxNzU7XG4kZmEtdmFyLXRlbnQtYXJyb3ctZG93bi10by1saW5lOiBcXGU1N2U7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1tYWlsLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1zdWl0Y2FzZTogXFxmMGYyO1xuJGZhLXZhci1wZXJzb24tc2thdGluZzogXFxmN2M1O1xuJGZhLXZhci1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLWZpbHRlci1jaXJjbGUtZG9sbGFyOiBcXGY2NjI7XG4kZmEtdmFyLWZ1bm5lbC1kb2xsYXI6IFxcZjY2MjtcbiRmYS12YXItY2FtZXJhLXJldHJvOiBcXGYwODM7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy1kb3duOiBcXGYwYWI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1kb3duOiBcXGYwYWI7XG4kZmEtdmFyLWZpbGUtaW1wb3J0OiBcXGY1NmY7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXRvLWZpbGU6IFxcZjU2ZjtcbiRmYS12YXItc3F1YXJlLWFycm93LXVwLXJpZ2h0OiBcXGYxNGM7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOiBcXGYxNGM7XG4kZmEtdmFyLWJveC1vcGVuOiBcXGY0OWU7XG4kZmEtdmFyLXNjcm9sbDogXFxmNzBlO1xuJGZhLXZhci1zcGE6IFxcZjViYjtcbiRmYS12YXItbG9jYXRpb24tcGluLWxvY2s6IFxcZTUxZjtcbiRmYS12YXItcGF1c2U6IFxcZjA0YztcbiRmYS12YXItaGlsbC1hdmFsYW5jaGU6IFxcZTUwNztcbiRmYS12YXItdGVtcGVyYXR1cmUtZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGVtcGVyYXR1cmUtMDogXFxmMmNiO1xuJGZhLXZhci10aGVybW9tZXRlci0wOiBcXGYyY2I7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5OiBcXGYyY2I7XG4kZmEtdmFyLWJvbWI6IFxcZjFlMjtcbiRmYS12YXItcmVnaXN0ZXJlZDogXFxmMjVkO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItY29udGFjdC1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLXZjYXJkOiBcXGYyYmI7XG4kZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQtZmxpcDogXFxmNTE2O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0OiBcXGY1MTY7XG4kZmEtdmFyLXN1YnNjcmlwdDogXFxmMTJjO1xuJGZhLXZhci1kaWFtb25kLXR1cm4tcmlnaHQ6IFxcZjVlYjtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1idXJzdDogXFxlNGRjO1xuJGZhLXZhci1ob3VzZS1sYXB0b3A6IFxcZTA2NjtcbiRmYS12YXItbGFwdG9wLWhvdXNlOiBcXGUwNjY7XG4kZmEtdmFyLWZhY2UtdGlyZWQ6IFxcZjVjODtcbiRmYS12YXItdGlyZWQ6IFxcZjVjODtcbiRmYS12YXItbW9uZXktYmlsbHM6IFxcZTFmMztcbiRmYS12YXItc21vZzogXFxmNzVmO1xuJGZhLXZhci1jcnV0Y2g6IFxcZjdmNztcbiRmYS12YXItY2xvdWQtYXJyb3ctdXA6IFxcZjBlZTtcbiRmYS12YXItY2xvdWQtdXBsb2FkOiBcXGYwZWU7XG4kZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQ6IFxcZjBlZTtcbiRmYS12YXItcGFsZXR0ZTogXFxmNTNmO1xuJGZhLXZhci1hcnJvd3MtdHVybi1yaWdodDogXFxlNGMwO1xuJGZhLXZhci12ZXN0OiBcXGUwODU7XG4kZmEtdmFyLWZlcnJ5OiBcXGU0ZWE7XG4kZmEtdmFyLWFycm93cy1kb3duLXRvLXBlb3BsZTogXFxlNGI5O1xuJGZhLXZhci1zZWVkbGluZzogXFxmNGQ4O1xuJGZhLXZhci1zcHJvdXQ6IFxcZjRkODtcbiRmYS12YXItbGVmdC1yaWdodDogXFxmMzM3O1xuJGZhLXZhci1hcnJvd3MtYWx0LWg6IFxcZjMzNztcbiRmYS12YXItYm94ZXMtcGFja2luZzogXFxlNGM3O1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctbGVmdDogXFxmMGE4O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtbGVmdDogXFxmMGE4O1xuJGZhLXZhci1ncm91cC1hcnJvd3Mtcm90YXRlOiBcXGU0ZjY7XG4kZmEtdmFyLWJvd2wtZm9vZDogXFxlNGM2O1xuJGZhLXZhci1jYW5keS1jYW5lOiBcXGY3ODY7XG4kZmEtdmFyLWFycm93LWRvd24td2lkZS1zaG9ydDogXFxmMTYwO1xuJGZhLXZhci1zb3J0LWFtb3VudC1hc2M6IFxcZjE2MDtcbiRmYS12YXItc29ydC1hbW91bnQtZG93bjogXFxmMTYwO1xuJGZhLXZhci1jbG91ZC1ib2x0OiBcXGY3NmM7XG4kZmEtdmFyLXRodW5kZXJzdG9ybTogXFxmNzZjO1xuJGZhLXZhci10ZXh0LXNsYXNoOiBcXGY4N2Q7XG4kZmEtdmFyLXJlbW92ZS1mb3JtYXQ6IFxcZjg3ZDtcbiRmYS12YXItZmFjZS1zbWlsZS13aW5rOiBcXGY0ZGE7XG4kZmEtdmFyLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItZmlsZS13b3JkOiBcXGYxYzI7XG4kZmEtdmFyLWZpbGUtcG93ZXJwb2ludDogXFxmMWM0O1xuJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodDogXFxmMDdlO1xuJGZhLXZhci1hcnJvd3MtaDogXFxmMDdlO1xuJGZhLXZhci1ob3VzZS1sb2NrOiBcXGU1MTA7XG4kZmEtdmFyLWNsb3VkLWFycm93LWRvd246IFxcZjBlZDtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQ6IFxcZjBlZDtcbiRmYS12YXItY2xvdWQtZG93bmxvYWQtYWx0OiBcXGYwZWQ7XG4kZmEtdmFyLWNoaWxkcmVuOiBcXGU0ZTE7XG4kZmEtdmFyLWNoYWxrYm9hcmQ6IFxcZjUxYjtcbiRmYS12YXItYmxhY2tib2FyZDogXFxmNTFiO1xuJGZhLXZhci11c2VyLWxhcmdlLXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLXVzZXItYWx0LXNsYXNoOiBcXGY0ZmE7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW46IFxcZjJiNjtcbiRmYS12YXItaGFuZHNoYWtlLXNpbXBsZS1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2UtYWx0LXNsYXNoOiBcXGUwNWY7XG4kZmEtdmFyLW1hdHRyZXNzLXBpbGxvdzogXFxlNTI1O1xuJGZhLXZhci1ndWFyYW5pLXNpZ246IFxcZTE5YTtcbiRmYS12YXItYXJyb3dzLXJvdGF0ZTogXFxmMDIxO1xuJGZhLXZhci1yZWZyZXNoOiBcXGYwMjE7XG4kZmEtdmFyLXN5bmM6IFxcZjAyMTtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItY3J1emVpcm8tc2lnbjogXFxlMTUyO1xuJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWw6IFxcZjUzMjtcbiRmYS12YXItc2hpZWxkLWhhbHZlZDogXFxmM2VkO1xuJGZhLXZhci1zaGllbGQtYWx0OiBcXGYzZWQ7XG4kZmEtdmFyLWJvb2stYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItYXRsYXM6IFxcZjU1ODtcbiRmYS12YXItdmlydXM6IFxcZTA3NDtcbiRmYS12YXItZW52ZWxvcGUtY2lyY2xlLWNoZWNrOiBcXGU0ZTg7XG4kZmEtdmFyLWxheWVyLWdyb3VwOiBcXGY1ZmQ7XG4kZmEtdmFyLWFycm93cy10by1kb3Q6IFxcZTRiZTtcbiRmYS12YXItYXJjaHdheTogXFxmNTU3O1xuJGZhLXZhci1oZWFydC1jaXJjbGUtY2hlY2s6IFxcZTRmZDtcbiRmYS12YXItaG91c2UtY2hpbW5leS1jcmFjazogXFxmNmYxO1xuJGZhLXZhci1ob3VzZS1kYW1hZ2U6IFxcZjZmMTtcbiRmYS12YXItZmlsZS16aXBwZXI6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hcmNoaXZlOiBcXGYxYzY7XG4kZmEtdmFyLXNxdWFyZTogXFxmMGM4O1xuJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWVtcHR5OiBcXGYwMDA7XG4kZmEtdmFyLWdsYXNzLW1hcnRpbmk6IFxcZjAwMDtcbiRmYS12YXItY291Y2g6IFxcZjRiODtcbiRmYS12YXItY2VkaS1zaWduOiBcXGUwZGY7XG4kZmEtdmFyLWl0YWxpYzogXFxmMDMzO1xuJGZhLXZhci1jaHVyY2g6IFxcZjUxZDtcbiRmYS12YXItY29tbWVudHMtZG9sbGFyOiBcXGY2NTM7XG4kZmEtdmFyLWRlbW9jcmF0OiBcXGY3NDc7XG4kZmEtdmFyLXo6IFxcNWE7XG4kZmEtdmFyLXBlcnNvbi1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItc2tpaW5nOiBcXGY3Yzk7XG4kZmEtdmFyLXJvYWQtbG9jazogXFxlNTY3O1xuJGZhLXZhci1hOiBcXDQxO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy1kb3duOiBcXGUwM2Y7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWRvd246IFxcZTAzZjtcbiRmYS12YXItZmVhdGhlci1wb2ludGVkOiBcXGY1NmI7XG4kZmEtdmFyLWZlYXRoZXItYWx0OiBcXGY1NmI7XG4kZmEtdmFyLXA6IFxcNTA7XG4kZmEtdmFyLXNub3dmbGFrZTogXFxmMmRjO1xuJGZhLXZhci1uZXdzcGFwZXI6IFxcZjFlYTtcbiRmYS12YXItcmVjdGFuZ2xlLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWFkOiBcXGY2NDE7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy1yaWdodDogXFxmMGE5O1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQ6IFxcZjBhOTtcbiRmYS12YXItZmlsdGVyLWNpcmNsZS14bWFyazogXFxlMTdiO1xuJGZhLXZhci1sb2N1c3Q6IFxcZTUyMDtcbiRmYS12YXItc29ydDogXFxmMGRjO1xuJGZhLXZhci11bnNvcnRlZDogXFxmMGRjO1xuJGZhLXZhci1saXN0LW9sOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtMS0yOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtbnVtZXJpYzogXFxmMGNiO1xuJGZhLXZhci1wZXJzb24tZHJlc3MtYnVyc3Q6IFxcZTU0NDtcbiRmYS12YXItbW9uZXktY2hlY2stZG9sbGFyOiBcXGY1M2Q7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWFsdDogXFxmNTNkO1xuJGZhLXZhci12ZWN0b3Itc3F1YXJlOiBcXGY1Y2I7XG4kZmEtdmFyLWJyZWFkLXNsaWNlOiBcXGY3ZWM7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWZhY2Uta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWtpc3Mtd2luay1oZWFydDogXFxmNTk4O1xuJGZhLXZhci1maWx0ZXI6IFxcZjBiMDtcbiRmYS12YXItcXVlc3Rpb246IFxcM2Y7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLXVwLWRvd24tbGVmdC1yaWdodDogXFxmMGIyO1xuJGZhLXZhci1hcnJvd3MtYWx0OiBcXGYwYjI7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktdXNlcjogXFxlMDY1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQ6IFxcZjRiZTtcbiRmYS12YXItcHV6emxlLXBpZWNlOiBcXGYxMmU7XG4kZmEtdmFyLW1vbmV5LWNoZWNrOiBcXGY1M2M7XG4kZmEtdmFyLXN0YXItaGFsZi1zdHJva2U6IFxcZjVjMDtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1jb2RlOiBcXGYxMjE7XG4kZmEtdmFyLXdoaXNrZXktZ2xhc3M6IFxcZjdhMDtcbiRmYS12YXItZ2xhc3Mtd2hpc2tleTogXFxmN2EwO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRkMztcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1jaGFydDogXFxlNTIyO1xuJGZhLXZhci1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZTogXFxmMDhlO1xuJGZhLXZhci1leHRlcm5hbC1saW5rOiBcXGYwOGU7XG4kZmEtdmFyLWN1YmVzLXN0YWNrZWQ6IFxcZTRlNjtcbiRmYS12YXItd29uLXNpZ246IFxcZjE1OTtcbiRmYS12YXIta3J3OiBcXGYxNTk7XG4kZmEtdmFyLXdvbjogXFxmMTU5O1xuJGZhLXZhci12aXJ1cy1jb3ZpZDogXFxlNGE4O1xuJGZhLXZhci1hdXN0cmFsLXNpZ246IFxcZTBhOTtcbiRmYS12YXItZjogXFw0NjtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1yb2FkOiBcXGYwMTg7XG4kZmEtdmFyLXRheGk6IFxcZjFiYTtcbiRmYS12YXItY2FiOiBcXGYxYmE7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtcGx1czogXFxlNTQxO1xuJGZhLXZhci1jaGFydC1waWU6IFxcZjIwMDtcbiRmYS12YXItcGllLWNoYXJ0OiBcXGYyMDA7XG4kZmEtdmFyLWJvbHQtbGlnaHRuaW5nOiBcXGUwYjc7XG4kZmEtdmFyLXNhY2steG1hcms6IFxcZTU2YTtcbiRmYS12YXItZmlsZS1leGNlbDogXFxmMWMzO1xuJGZhLXZhci1maWxlLWNvbnRyYWN0OiBcXGY1NmM7XG4kZmEtdmFyLWZpc2gtZmluczogXFxlNGYyO1xuJGZhLXZhci1idWlsZGluZy1mbGFnOiBcXGU0ZDU7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtOiBcXGY1ODI7XG4kZmEtdmFyLWdyaW4tYmVhbTogXFxmNTgyO1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1wb29wOiBcXGY2MTk7XG4kZmEtdmFyLWxvY2F0aW9uLXBpbjogXFxmMDQxO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcXGYwNDE7XG4kZmEtdmFyLWthYWJhOiBcXGY2NmI7XG4kZmEtdmFyLXRvaWxldC1wYXBlcjogXFxmNzFlO1xuJGZhLXZhci1oZWxtZXQtc2FmZXR5OiBcXGY4MDc7XG4kZmEtdmFyLWhhcmQtaGF0OiBcXGY4MDc7XG4kZmEtdmFyLWhhdC1oYXJkOiBcXGY4MDc7XG4kZmEtdmFyLWVqZWN0OiBcXGYwNTI7XG4kZmEtdmFyLWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLXBsYW5lLWNpcmNsZS1jaGVjazogXFxlNTU1O1xuJGZhLXZhci1mYWNlLXJvbGxpbmctZXllczogXFxmNWE1O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1jaGFydC1saW5lOiBcXGYyMDE7XG4kZmEtdmFyLWxpbmUtY2hhcnQ6IFxcZjIwMTtcbiRmYS12YXItbWFzay12ZW50aWxhdG9yOiBcXGU1MjQ7XG4kZmEtdmFyLWFycm93LXJpZ2h0OiBcXGYwNjE7XG4kZmEtdmFyLXNpZ25zLXBvc3Q6IFxcZjI3NztcbiRmYS12YXItbWFwLXNpZ25zOiBcXGYyNzc7XG4kZmEtdmFyLWNhc2gtcmVnaXN0ZXI6IFxcZjc4ODtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1xdWVzdGlvbjogXFxlNTQyO1xuJGZhLXZhci1oOiBcXDQ4O1xuJGZhLXZhci10YXJwOiBcXGU1N2I7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyLXdyZW5jaDogXFxmN2Q5O1xuJGZhLXZhci10b29sczogXFxmN2Q5O1xuJGZhLXZhci1hcnJvd3MtdG8tZXllOiBcXGU0YmY7XG4kZmEtdmFyLXBsdWctY2lyY2xlLWJvbHQ6IFxcZTU1YjtcbiRmYS12YXItaGVhcnQ6IFxcZjAwNDtcbiRmYS12YXItbWFycy1hbmQtdmVudXM6IFxcZjIyNDtcbiRmYS12YXItaG91c2UtdXNlcjogXFxlMWIwO1xuJGZhLXZhci1ob21lLXVzZXI6IFxcZTFiMDtcbiRmYS12YXItZHVtcHN0ZXItZmlyZTogXFxmNzk0O1xuJGZhLXZhci1ob3VzZS1jcmFjazogXFxlM2IxO1xuJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWNpdHJ1czogXFxmNTYxO1xuJGZhLXZhci1jb2NrdGFpbDogXFxmNTYxO1xuJGZhLXZhci1mYWNlLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLXN1cnByaXNlOiBcXGY1YzI7XG4kZmEtdmFyLWJvdHRsZS13YXRlcjogXFxlNGM1O1xuJGZhLXZhci1jaXJjbGUtcGF1c2U6IFxcZjI4YjtcbiRmYS12YXItcGF1c2UtY2lyY2xlOiBcXGYyOGI7XG4kZmEtdmFyLXRvaWxldC1wYXBlci1zbGFzaDogXFxlMDcyO1xuJGZhLXZhci1hcHBsZS13aG9sZTogXFxmNWQxO1xuJGZhLXZhci1hcHBsZS1hbHQ6IFxcZjVkMTtcbiRmYS12YXIta2l0Y2hlbi1zZXQ6IFxcZTUxYTtcbiRmYS12YXItcjogXFw1MjtcbiRmYS12YXItdGVtcGVyYXR1cmUtcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci10ZW1wZXJhdHVyZS0xOiBcXGYyY2E7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTE6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXFxmMmNhO1xuJGZhLXZhci1jdWJlOiBcXGYxYjI7XG4kZmEtdmFyLWJpdGNvaW4tc2lnbjogXFxlMGI0O1xuJGZhLXZhci1zaGllbGQtZG9nOiBcXGU1NzM7XG4kZmEtdmFyLXNvbGFyLXBhbmVsOiBcXGY1YmE7XG4kZmEtdmFyLWxvY2stb3BlbjogXFxmM2MxO1xuJGZhLXZhci1lbGV2YXRvcjogXFxlMTZkO1xuJGZhLXZhci1tb25leS1iaWxsLXRyYW5zZmVyOiBcXGU1Mjg7XG4kZmEtdmFyLW1vbmV5LWJpbGwtdHJlbmQtdXA6IFxcZTUyOTtcbiRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0OiBcXGU1MGY7XG4kZmEtdmFyLXNxdWFyZS1wb2xsLWhvcml6b250YWw6IFxcZjY4MjtcbiRmYS12YXItcG9sbC1oOiBcXGY2ODI7XG4kZmEtdmFyLWNpcmNsZTogXFxmMTExO1xuJGZhLXZhci1iYWNrd2FyZC1mYXN0OiBcXGYwNDk7XG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFxcZjA0OTtcbiRmYS12YXItcmVjeWNsZTogXFxmMWI4O1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci1wbGFuZS1zbGFzaDogXFxlMDY5O1xuJGZhLXZhci10cmFkZW1hcms6IFxcZjI1YztcbiRmYS12YXItYmFza2V0YmFsbDogXFxmNDM0O1xuJGZhLXZhci1iYXNrZXRiYWxsLWJhbGw6IFxcZjQzNDtcbiRmYS12YXItc2F0ZWxsaXRlLWRpc2g6IFxcZjdjMDtcbiRmYS12YXItY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItbW9iaWxlLXNjcmVlbi1idXR0b246IFxcZjNjZDtcbiRmYS12YXItbW9iaWxlLWFsdDogXFxmM2NkO1xuJGZhLXZhci12b2x1bWUtaGlnaDogXFxmMDI4O1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdXNlcnMtcmF5czogXFxlNTkzO1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItY2xpcGJvYXJkLWNoZWNrOiBcXGY0NmM7XG4kZmEtdmFyLWZpbGUtYXVkaW86IFxcZjFjNztcbiRmYS12YXItYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbWJ1cmdlcjogXFxmODA1O1xuJGZhLXZhci13cmVuY2g6IFxcZjBhZDtcbiRmYS12YXItYnVnczogXFxlNGQwO1xuJGZhLXZhci1ydXBlZS1zaWduOiBcXGYxNTY7XG4kZmEtdmFyLXJ1cGVlOiBcXGYxNTY7XG4kZmEtdmFyLWZpbGUtaW1hZ2U6IFxcZjFjNTtcbiRmYS12YXItY2lyY2xlLXF1ZXN0aW9uOiBcXGYwNTk7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1wbGFuZS1kZXBhcnR1cmU6IFxcZjViMDtcbiRmYS12YXItaGFuZHNoYWtlLXNsYXNoOiBcXGUwNjA7XG4kZmEtdmFyLWJvb2stYm9va21hcms6IFxcZTBiYjtcbiRmYS12YXItY29kZS1icmFuY2g6IFxcZjEyNjtcbiRmYS12YXItaGF0LWNvd2JveTogXFxmOGMwO1xuJGZhLXZhci1icmlkZ2U6IFxcZTRjODtcbiRmYS12YXItcGhvbmUtZmxpcDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1hbHQ6IFxcZjg3OTtcbiRmYS12YXItdHJ1Y2stZnJvbnQ6IFxcZTJiNztcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRhYjtcbiRmYS12YXItdHJ1Y2stZmllbGQ6IFxcZTU4ZDtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItY2xpcGJvYXJkLXF1ZXN0aW9uOiBcXGU0ZTM7XG4kZmEtdmFyLXBhbm9yYW1hOiBcXGUyMDk7XG4kZmEtdmFyLWNvbW1lbnQtbWVkaWNhbDogXFxmN2Y1O1xuJGZhLXZhci10ZWV0aC1vcGVuOiBcXGY2MmY7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLW1pbnVzOiBcXGU0ZWQ7XG4kZmEtdmFyLXRhZ3M6IFxcZjAyYztcbiRmYS12YXItd2luZS1nbGFzczogXFxmNGUzO1xuJGZhLXZhci1mb3J3YXJkLWZhc3Q6IFxcZjA1MDtcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcXGYwNTA7XG4kZmEtdmFyLWZhY2UtbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1zcXVhcmUtcGFya2luZzogXFxmNTQwO1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLWhvdXNlLXNpZ25hbDogXFxlMDEyO1xuJGZhLXZhci1iYXJzLXByb2dyZXNzOiBcXGY4Mjg7XG4kZmEtdmFyLXRhc2tzLWFsdDogXFxmODI4O1xuJGZhLXZhci1mYXVjZXQtZHJpcDogXFxlMDA2O1xuJGZhLXZhci1jYXJ0LWZsYXRiZWQ6IFxcZjQ3NDtcbiRmYS12YXItZG9sbHktZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1iYW4tc21va2luZzogXFxmNTRkO1xuJGZhLXZhci1zbW9raW5nLWJhbjogXFxmNTRkO1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci1tb2JpbGUtYnV0dG9uOiBcXGYxMGI7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtZmxhZzogXFxlNTE0O1xuJGZhLXZhci1iYXNrZXQtc2hvcHBpbmc6IFxcZjI5MTtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcXGYyOTE7XG4kZmEtdmFyLXRhcGU6IFxcZjRkYjtcbiRmYS12YXItYnVzLXNpbXBsZTogXFxmNTVlO1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1mYWNlLXNhZC1jcnk6IFxcZjViMztcbiRmYS12YXItc2FkLWNyeTogXFxmNWIzO1xuJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbjogXFxmMjllO1xuJGZhLXZhci1wZXJzb24tbWlsaXRhcnktdG8tcGVyc29uOiBcXGU1NGM7XG4kZmEtdmFyLWZpbGUtc2hpZWxkOiBcXGU0ZjA7XG4kZmEtdmFyLXVzZXItc2xhc2g6IFxcZjUwNjtcbiRmYS12YXItcGVuOiBcXGYzMDQ7XG4kZmEtdmFyLXRvd2VyLW9ic2VydmF0aW9uOiBcXGU1ODY7XG4kZmEtdmFyLWZpbGUtY29kZTogXFxmMWM5O1xuJGZhLXZhci1zaWduYWw6IFxcZjAxMjtcbiRmYS12YXItc2lnbmFsLTU6IFxcZjAxMjtcbiRmYS12YXItc2lnbmFsLXBlcmZlY3Q6IFxcZjAxMjtcbiRmYS12YXItYnVzOiBcXGYyMDc7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS14bWFyazogXFxlNTAxO1xuJGZhLXZhci1ob3VzZS1jaGltbmV5OiBcXGUzYWY7XG4kZmEtdmFyLWhvbWUtbGc6IFxcZTNhZjtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcXGYyZDA7XG4kZmEtdmFyLWZhY2UtZnJvd246IFxcZjExOTtcbiRmYS12YXItZnJvd246IFxcZjExOTtcbiRmYS12YXItcHJlc2NyaXB0aW9uOiBcXGY1YjE7XG4kZmEtdmFyLXNob3A6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0OiBcXGY1NGY7XG4kZmEtdmFyLWZsb3BweS1kaXNrOiBcXGYwYzc7XG4kZmEtdmFyLXNhdmU6IFxcZjBjNztcbiRmYS12YXItdmloYXJhOiBcXGY2YTc7XG4kZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQ6IFxcZjUxNTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc29ydC1hc2M6IFxcZjBkZTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnRpbmc6IFxcZjRhZDtcbiRmYS12YXItcGxhbnQtd2lsdDogXFxlNWFhO1xuJGZhLXZhci1kaWFtb25kOiBcXGYyMTk7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItZ3Jpbi1zcXVpbnQ6IFxcZjU4NTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWRvbGxhcjogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkOiBcXGY0YzA7XG4kZmEtdmFyLWJhY3Rlcml1bTogXFxlMDVhO1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItZHJ1bS1zdGVlbHBhbjogXFxmNTZhO1xuJGZhLXZhci1oYW5kLXNjaXNzb3JzOiBcXGYyNTc7XG4kZmEtdmFyLWhhbmRzLXByYXlpbmc6IFxcZjY4NDtcbiRmYS12YXItcHJheWluZy1oYW5kczogXFxmNjg0O1xuJGZhLXZhci1hcnJvdy1yb3RhdGUtcmlnaHQ6IFxcZjAxZTtcbiRmYS12YXItYXJyb3ctcmlnaHQtcm90YXRlOiBcXGYwMWU7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1mb3J3YXJkOiBcXGYwMWU7XG4kZmEtdmFyLXJlZG86IFxcZjAxZTtcbiRmYS12YXItYmlvaGF6YXJkOiBcXGY3ODA7XG4kZmEtdmFyLWxvY2F0aW9uLWNyb3NzaGFpcnM6IFxcZjYwMTtcbiRmYS12YXItbG9jYXRpb246IFxcZjYwMTtcbiRmYS12YXItbWFycy1kb3VibGU6IFxcZjIyNztcbiRmYS12YXItY2hpbGQtZHJlc3M6IFxcZTU5YztcbiRmYS12YXItdXNlcnMtYmV0d2Vlbi1saW5lczogXFxlNTkxO1xuJGZhLXZhci1sdW5ncy12aXJ1czogXFxlMDY3O1xuJGZhLXZhci1mYWNlLWdyaW4tdGVhcnM6IFxcZjU4ODtcbiRmYS12YXItZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1waG9uZTogXFxmMDk1O1xuJGZhLXZhci1jYWxlbmRhci14bWFyazogXFxmMjczO1xuJGZhLXZhci1jYWxlbmRhci10aW1lczogXFxmMjczO1xuJGZhLXZhci1jaGlsZC1yZWFjaGluZzogXFxlNTlkO1xuJGZhLXZhci1oZWFkLXNpZGUtdmlydXM6IFxcZTA2NDtcbiRmYS12YXItdXNlci1nZWFyOiBcXGY0ZmU7XG4kZmEtdmFyLXVzZXItY29nOiBcXGY0ZmU7XG4kZmEtdmFyLWFycm93LXVwLTEtOTogXFxmMTYzO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXA6IFxcZjE2MztcbiRmYS12YXItZG9vci1jbG9zZWQ6IFxcZjUyYTtcbiRmYS12YXItc2hpZWxkLXZpcnVzOiBcXGUwNmM7XG4kZmEtdmFyLWRpY2Utc2l4OiBcXGY1MjY7XG4kZmEtdmFyLW1vc3F1aXRvLW5ldDogXFxlNTJjO1xuJGZhLXZhci1icmlkZ2Utd2F0ZXI6IFxcZTRjZTtcbiRmYS12YXItcGVyc29uLWJvb3RoOiBcXGY3NTY7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFxcZjAzNTtcbiRmYS12YXItaGF0LXdpemFyZDogXFxmNmU4O1xuJGZhLXZhci1wZW4tZmFuY3k6IFxcZjVhYztcbiRmYS12YXItcGVyc29uLWRpZ2dpbmc6IFxcZjg1ZTtcbiRmYS12YXItZGlnZ2luZzogXFxmODVlO1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci1nYXVnZS1zaW1wbGU6IFxcZjYyOTtcbiRmYS12YXItZ2F1Z2Utc2ltcGxlLW1lZDogXFxmNjI5O1xuJGZhLXZhci10YWNob21ldGVyLWF2ZXJhZ2U6IFxcZjYyOTtcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLXBvbzogXFxmMmZlO1xuJGZhLXZhci1xdW90ZS1yaWdodDogXFxmMTBlO1xuJGZhLXZhci1xdW90ZS1yaWdodC1hbHQ6IFxcZjEwZTtcbiRmYS12YXItc2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdC1zaGlydDogXFxmNTUzO1xuJGZhLXZhci10c2hpcnQ6IFxcZjU1MztcbiRmYS12YXItY3ViZXM6IFxcZjFiMztcbiRmYS12YXItZGl2aWRlOiBcXGY1Mjk7XG4kZmEtdmFyLXRlbmdlLXNpZ246IFxcZjdkNztcbiRmYS12YXItdGVuZ2U6IFxcZjdkNztcbiRmYS12YXItaGVhZHBob25lczogXFxmMDI1O1xuJGZhLXZhci1oYW5kcy1ob2xkaW5nOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWNsYXBwaW5nOiBcXGUxYTg7XG4kZmEtdmFyLXJlcHVibGljYW46IFxcZjc1ZTtcbiRmYS12YXItYXJyb3ctbGVmdDogXFxmMDYwO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLXhtYXJrOiBcXGU1NDM7XG4kZmEtdmFyLXJ1bGVyOiBcXGY1NDU7XG4kZmEtdmFyLWFsaWduLWxlZnQ6IFxcZjAzNjtcbiRmYS12YXItZGljZS1kNjogXFxmNmQxO1xuJGZhLXZhci1yZXN0cm9vbTogXFxmN2JkO1xuJGZhLXZhci1qOiBcXDRhO1xuJGZhLXZhci11c2Vycy12aWV3ZmluZGVyOiBcXGU1OTU7XG4kZmEtdmFyLWZpbGUtdmlkZW86IFxcZjFjODtcbiRmYS12YXItdXAtcmlnaHQtZnJvbS1zcXVhcmU6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItdGFibGUtY2VsbHM6IFxcZjAwYTtcbiRmYS12YXItdGg6IFxcZjAwYTtcbiRmYS12YXItZmlsZS1wZGY6IFxcZjFjMTtcbiRmYS12YXItYm9vay1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1iaWJsZTogXFxmNjQ3O1xuJGZhLXZhci1vOiBcXDRmO1xuJGZhLXZhci1zdWl0Y2FzZS1tZWRpY2FsOiBcXGYwZmE7XG4kZmEtdmFyLW1lZGtpdDogXFxmMGZhO1xuJGZhLXZhci11c2VyLXNlY3JldDogXFxmMjFiO1xuJGZhLXZhci1vdHRlcjogXFxmNzAwO1xuJGZhLXZhci1wZXJzb24tZHJlc3M6IFxcZjE4MjtcbiRmYS12YXItZmVtYWxlOiBcXGYxODI7XG4kZmEtdmFyLWNvbW1lbnQtZG9sbGFyOiBcXGY2NTE7XG4kZmEtdmFyLWJ1c2luZXNzLXRpbWU6IFxcZjY0YTtcbiRmYS12YXItYnJpZWZjYXNlLWNsb2NrOiBcXGY2NGE7XG4kZmEtdmFyLXRhYmxlLWNlbGxzLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLWJvb2stdGFuYWtoOiBcXGY4Mjc7XG4kZmEtdmFyLXRhbmFraDogXFxmODI3O1xuJGZhLXZhci1waG9uZS12b2x1bWU6IFxcZjJhMDtcbiRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU6IFxcZjJhMDtcbiRmYS12YXItaGF0LWNvd2JveS1zaWRlOiBcXGY4YzE7XG4kZmEtdmFyLWNsaXBib2FyZC11c2VyOiBcXGY3ZjM7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWxpcmEtc2lnbjogXFxmMTk1O1xuJGZhLXZhci1zYXRlbGxpdGU6IFxcZjdiZjtcbiRmYS12YXItcGxhbmUtbG9jazogXFxlNTU4O1xuJGZhLXZhci10YWc6IFxcZjAyYjtcbiRmYS12YXItY29tbWVudDogXFxmMDc1O1xuJGZhLXZhci1jYWtlLWNhbmRsZXM6IFxcZjFmZDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1jYWtlOiBcXGYxZmQ7XG4kZmEtdmFyLWVudmVsb3BlOiBcXGYwZTA7XG4kZmEtdmFyLWFuZ2xlcy11cDogXFxmMTAyO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFxcZjEwMjtcbiRmYS12YXItcGFwZXJjbGlwOiBcXGYwYzY7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXRvLWNpdHk6IFxcZTRiMztcbiRmYS12YXItcmliYm9uOiBcXGY0ZDY7XG4kZmEtdmFyLWx1bmdzOiBcXGY2MDQ7XG4kZmEtdmFyLWFycm93LXVwLTktMTogXFxmODg3O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0OiBcXGY4ODc7XG4kZmEtdmFyLWxpdGVjb2luLXNpZ246IFxcZTFkMztcbiRmYS12YXItYm9yZGVyLW5vbmU6IFxcZjg1MDtcbiRmYS12YXItY2lyY2xlLW5vZGVzOiBcXGU0ZTI7XG4kZmEtdmFyLXBhcmFjaHV0ZS1ib3g6IFxcZjRjZDtcbiRmYS12YXItaW5kZW50OiBcXGYwM2M7XG4kZmEtdmFyLXRydWNrLWZpZWxkLXVuOiBcXGU1OGU7XG4kZmEtdmFyLWhvdXJnbGFzczogXFxmMjU0O1xuJGZhLXZhci1ob3VyZ2xhc3MtZW1wdHk6IFxcZjI1NDtcbiRmYS12YXItbW91bnRhaW46IFxcZjZmYztcbiRmYS12YXItdXNlci1kb2N0b3I6IFxcZjBmMDtcbiRmYS12YXItdXNlci1tZDogXFxmMGYwO1xuJGZhLXZhci1jaXJjbGUtaW5mbzogXFxmMDVhO1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXFxmMDVhO1xuJGZhLXZhci1jbG91ZC1tZWF0YmFsbDogXFxmNzNiO1xuJGZhLXZhci1jYW1lcmE6IFxcZjAzMDtcbiRmYS12YXItY2FtZXJhLWFsdDogXFxmMDMwO1xuJGZhLXZhci1zcXVhcmUtdmlydXM6IFxcZTU3ODtcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLWNhci1vbjogXFxlNGRkO1xuJGZhLXZhci1zbGVpZ2g6IFxcZjdjYztcbiRmYS12YXItYXJyb3ctZG93bi0xLTk6IFxcZjE2MjtcbiRmYS12YXItc29ydC1udW1lcmljLWFzYzogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctZHJvcGxldDogXFxmNGMxO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItd2F0ZXI6IFxcZjc3MztcbiRmYS12YXItY2FsZW5kYXItY2hlY2s6IFxcZjI3NDtcbiRmYS12YXItYnJhaWxsZTogXFxmMmExO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWw6IFxcZjQ4NjtcbiRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6IFxcZjQ4NjtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItdHJ1Y2s6IFxcZjBkMTtcbiRmYS12YXItY3Jvc3NoYWlyczogXFxmMDViO1xuJGZhLXZhci1wZXJzb24tY2FuZTogXFxlNTNjO1xuJGZhLXZhci10ZW50OiBcXGU1N2Q7XG4kZmEtdmFyLXZlc3QtcGF0Y2hlczogXFxlMDg2O1xuJGZhLXZhci1jaGVjay1kb3VibGU6IFxcZjU2MDtcbiRmYS12YXItYXJyb3ctZG93bi1hLXo6IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS1hc2M6IFxcZjE1ZDtcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2hlYXQ6IFxcZTUyYTtcbiRmYS12YXItY29va2llOiBcXGY1NjM7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1sZWZ0OiBcXGYwZTI7XG4kZmEtdmFyLWFycm93LWxlZnQtcm90YXRlOiBcXGYwZTI7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrOiBcXGYwZTI7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrd2FyZDogXFxmMGUyO1xuJGZhLXZhci11bmRvOiBcXGYwZTI7XG4kZmEtdmFyLWhhcmQtZHJpdmU6IFxcZjBhMDtcbiRmYS12YXItaGRkOiBcXGYwYTA7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZ3Jpbi1zcXVpbnQtdGVhcnM6IFxcZjU4NjtcbiRmYS12YXItZHVtYmJlbGw6IFxcZjQ0YjtcbiRmYS12YXItcmVjdGFuZ2xlLWxpc3Q6IFxcZjAyMjtcbiRmYS12YXItbGlzdC1hbHQ6IFxcZjAyMjtcbiRmYS12YXItdGFycC1kcm9wbGV0OiBcXGU1N2M7XG4kZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrOiBcXGU1MTE7XG4kZmEtdmFyLXBlcnNvbi1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNraWluZy1ub3JkaWM6IFxcZjdjYTtcbiRmYS12YXItY2FsZW5kYXItcGx1czogXFxmMjcxO1xuJGZhLXZhci1wbGFuZS1hcnJpdmFsOiBcXGY1YWY7XG4kZmEtdmFyLWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtbGVmdDogXFxmMzU5O1xuJGZhLXZhci10cmFpbi1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItc3Vid2F5OiBcXGYyMzk7XG4kZmEtdmFyLWNoYXJ0LWdhbnR0OiBcXGUwZTQ7XG4kZmEtdmFyLWluZGlhbi1ydXBlZS1zaWduOiBcXGUxYmM7XG4kZmEtdmFyLWluZGlhbi1ydXBlZTogXFxlMWJjO1xuJGZhLXZhci1pbnI6IFxcZTFiYztcbiRmYS12YXItY3JvcC1zaW1wbGU6IFxcZjU2NTtcbiRmYS12YXItY3JvcC1hbHQ6IFxcZjU2NTtcbiRmYS12YXItbW9uZXktYmlsbC0xOiBcXGYzZDE7XG4kZmEtdmFyLW1vbmV5LWJpbGwtYWx0OiBcXGYzZDE7XG4kZmEtdmFyLWxlZnQtbG9uZzogXFxmMzBhO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0OiBcXGYzMGE7XG4kZmEtdmFyLWRuYTogXFxmNDcxO1xuJGZhLXZhci12aXJ1cy1zbGFzaDogXFxlMDc1O1xuJGZhLXZhci1taW51czogXFxmMDY4O1xuJGZhLXZhci1zdWJ0cmFjdDogXFxmMDY4O1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1hcnJvdy1sZWZ0LWxvbmc6IFxcZjE3NztcbiRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OiBcXGYxNzc7XG4kZmEtdmFyLXBsdWctY2lyY2xlLWNoZWNrOiBcXGU1NWM7XG4kZmEtdmFyLXN0cmVldC12aWV3OiBcXGYyMWQ7XG4kZmEtdmFyLWZyYW5jLXNpZ246IFxcZTE4ZjtcbiRmYS12YXItdm9sdW1lLW9mZjogXFxmMDI2O1xuJGZhLXZhci1oYW5kcy1hc2wtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcXGYyYTM7XG4kZmEtdmFyLWFzbC1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItZ2VhcjogXFxmMDEzO1xuJGZhLXZhci1jb2c6IFxcZjAxMztcbiRmYS12YXItZHJvcGxldC1zbGFzaDogXFxmNWM3O1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLW1vc3F1ZTogXFxmNjc4O1xuJGZhLXZhci1tb3NxdWl0bzogXFxlNTJiO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1yaWZsZTogXFxlNTRiO1xuJGZhLXZhci1jYXJ0LXNob3BwaW5nOiBcXGYwN2E7XG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFxcZjA3YTtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItcGx1Zy1jaXJjbGUtcGx1czogXFxlNTVmO1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLWdyaXAtdmVydGljYWw6IFxcZjU4ZTtcbiRmYS12YXItYXJyb3ctdHVybi11cDogXFxmMTQ4O1xuJGZhLXZhci1sZXZlbC11cDogXFxmMTQ4O1xuJGZhLXZhci11OiBcXDU1O1xuJGZhLXZhci1zcXVhcmUtcm9vdC12YXJpYWJsZTogXFxmNjk4O1xuJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQ6IFxcZjY5ODtcbiRmYS12YXItY2xvY2s6IFxcZjAxNztcbiRmYS12YXItY2xvY2stZm91cjogXFxmMDE3O1xuJGZhLXZhci1iYWNrd2FyZC1zdGVwOiBcXGYwNDg7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItcGFsbGV0OiBcXGY0ODI7XG4kZmEtdmFyLWZhdWNldDogXFxlMDA1O1xuJGZhLXZhci1iYXNlYmFsbC1iYXQtYmFsbDogXFxmNDMyO1xuJGZhLXZhci1zOiBcXDUzO1xuJGZhLXZhci10aW1lbGluZTogXFxlMjljO1xuJGZhLXZhci1rZXlib2FyZDogXFxmMTFjO1xuJGZhLXZhci1jYXJldC1kb3duOiBcXGYwZDc7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXktbWVkaWNhbDogXFxmN2YyO1xuJGZhLXZhci1jbGluaWMtbWVkaWNhbDogXFxmN2YyO1xuJGZhLXZhci10ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci10ZW1wZXJhdHVyZS0zOiBcXGYyYzg7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTM6IFxcZjJjODtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItbW9iaWxlLXNjcmVlbjogXFxmM2NmO1xuJGZhLXZhci1tb2JpbGUtYW5kcm9pZC1hbHQ6IFxcZjNjZjtcbiRmYS12YXItcGxhbmUtdXA6IFxcZTIyZDtcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFxcZjI0MjtcbiRmYS12YXItYmF0dGVyeS0zOiBcXGYyNDI7XG4kZmEtdmFyLW1vdW50YWluLWNpdHk6IFxcZTUyZTtcbiRmYS12YXItY29pbnM6IFxcZjUxZTtcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLXNsaWRlcnM6IFxcZjFkZTtcbiRmYS12YXItc2xpZGVycy1oOiBcXGYxZGU7XG4kZmEtdmFyLWZvbGRlci10cmVlOiBcXGY4MDI7XG4kZmEtdmFyLW5ldHdvcmstd2lyZWQ6IFxcZjZmZjtcbiRmYS12YXItbWFwLXBpbjogXFxmMjc2O1xuJGZhLXZhci1oYW1zYTogXFxmNjY1O1xuJGZhLXZhci1jZW50LXNpZ246IFxcZTNmNTtcbiRmYS12YXItZmxhc2s6IFxcZjBjMztcbiRmYS12YXItcGVyc29uLXByZWduYW50OiBcXGUzMWU7XG4kZmEtdmFyLXdhbmQtc3BhcmtsZXM6IFxcZjcyYjtcbiRmYS12YXItZWxsaXBzaXMtdmVydGljYWw6IFxcZjE0MjtcbiRmYS12YXItZWxsaXBzaXMtdjogXFxmMTQyO1xuJGZhLXZhci10aWNrZXQ6IFxcZjE0NTtcbiRmYS12YXItcG93ZXItb2ZmOiBcXGYwMTE7XG4kZmEtdmFyLXJpZ2h0LWxvbmc6IFxcZjMwYjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQ6IFxcZjMwYjtcbiRmYS12YXItZmxhZy11c2E6IFxcZjc0ZDtcbiRmYS12YXItbGFwdG9wLWZpbGU6IFxcZTUxZDtcbiRmYS12YXItdHR5OiBcXGYxZTQ7XG4kZmEtdmFyLXRlbGV0eXBlOiBcXGYxZTQ7XG4kZmEtdmFyLWRpYWdyYW0tbmV4dDogXFxlNDc2O1xuJGZhLXZhci1wZXJzb24tcmlmbGU6IFxcZTU0ZTtcbiRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTUxMjtcbiRmYS12YXItY2xvc2VkLWNhcHRpb25pbmc6IFxcZjIwYTtcbiRmYS12YXItcGVyc29uLWhpa2luZzogXFxmNmVjO1xuJGZhLXZhci1oaWtpbmc6IFxcZjZlYztcbiRmYS12YXItdmVudXMtZG91YmxlOiBcXGYyMjY7XG4kZmEtdmFyLWltYWdlczogXFxmMzAyO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLXBlb3BsZS1wdWxsaW5nOiBcXGU1MzU7XG4kZmEtdmFyLW46IFxcNGU7XG4kZmEtdmFyLWNhYmxlLWNhcjogXFxmN2RhO1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLWNsb3VkLXJhaW46IFxcZjczZDtcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLXhtYXJrOiBcXGU0ZDQ7XG4kZmEtdmFyLXNoaXA6IFxcZjIxYTtcbiRmYS12YXItYXJyb3dzLWRvd24tdG8tbGluZTogXFxlNGI4O1xuJGZhLXZhci1kb3dubG9hZDogXFxmMDE5O1xuJGZhLXZhci1mYWNlLWdyaW46IFxcZjU4MDtcbiRmYS12YXItZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1kZWxldGUtbGVmdDogXFxmNTVhO1xuJGZhLXZhci1iYWNrc3BhY2U6IFxcZjU1YTtcbiRmYS12YXItZXllLWRyb3BwZXI6IFxcZjFmYjtcbiRmYS12YXItZXllLWRyb3BwZXItZW1wdHk6IFxcZjFmYjtcbiRmYS12YXItZXllZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1maWxlLWNpcmNsZS1jaGVjazogXFxlNWEwO1xuJGZhLXZhci1mb3J3YXJkOiBcXGYwNGU7XG4kZmEtdmFyLW1vYmlsZTogXFxmM2NlO1xuJGZhLXZhci1tb2JpbGUtYW5kcm9pZDogXFxmM2NlO1xuJGZhLXZhci1tb2JpbGUtcGhvbmU6IFxcZjNjZTtcbiRmYS12YXItZmFjZS1tZWg6IFxcZjExYTtcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLWFsaWduLWNlbnRlcjogXFxmMDM3O1xuJGZhLXZhci1ib29rLXNrdWxsOiBcXGY2Yjc7XG4kZmEtdmFyLWJvb2stZGVhZDogXFxmNmI3O1xuJGZhLXZhci1pZC1jYXJkOiBcXGYyYzI7XG4kZmEtdmFyLWRyaXZlcnMtbGljZW5zZTogXFxmMmMyO1xuJGZhLXZhci1vdXRkZW50OiBcXGYwM2I7XG4kZmEtdmFyLWRlZGVudDogXFxmMDNiO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRmZTtcbiRmYS12YXItaG91c2U6IFxcZjAxNTtcbiRmYS12YXItaG9tZTogXFxmMDE1O1xuJGZhLXZhci1ob21lLWFsdDogXFxmMDE1O1xuJGZhLXZhci1ob21lLWxnLWFsdDogXFxmMDE1O1xuJGZhLXZhci1jYWxlbmRhci13ZWVrOiBcXGY3ODQ7XG4kZmEtdmFyLWxhcHRvcC1tZWRpY2FsOiBcXGY4MTI7XG4kZmEtdmFyLWI6IFxcNDI7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbDogXFxmNDc3O1xuJGZhLXZhci1kaWNlLW9uZTogXFxmNTI1O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXItYXJyb3ctcmlnaHQtYXJyb3ctbGVmdDogXFxmMGVjO1xuJGZhLXZhci1leGNoYW5nZTogXFxmMGVjO1xuJGZhLXZhci1yb3RhdGUtcmlnaHQ6IFxcZjJmOTtcbiRmYS12YXItcmVkby1hbHQ6IFxcZjJmOTtcbiRmYS12YXItcm90YXRlLWZvcndhcmQ6IFxcZjJmOTtcbiRmYS12YXItdXRlbnNpbHM6IFxcZjJlNztcbiRmYS12YXItY3V0bGVyeTogXFxmMmU3O1xuJGZhLXZhci1hcnJvdy11cC13aWRlLXNob3J0OiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLW1pbGwtc2lnbjogXFxlMWVkO1xuJGZhLXZhci1ib3dsLXJpY2U6IFxcZTJlYjtcbiRmYS12YXItc2t1bGw6IFxcZjU0YztcbiRmYS12YXItdG93ZXItYnJvYWRjYXN0OiBcXGY1MTk7XG4kZmEtdmFyLWJyb2FkY2FzdC10b3dlcjogXFxmNTE5O1xuJGZhLXZhci10cnVjay1waWNrdXA6IFxcZjYzYztcbiRmYS12YXItdXAtbG9uZzogXFxmMzBjO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC11cDogXFxmMzBjO1xuJGZhLXZhci1zdG9wOiBcXGYwNGQ7XG4kZmEtdmFyLWNvZGUtbWVyZ2U6IFxcZjM4NztcbiRmYS12YXItdXBsb2FkOiBcXGYwOTM7XG4kZmEtdmFyLWh1cnJpY2FuZTogXFxmNzUxO1xuJGZhLXZhci1tb3VuZDogXFxlNTJkO1xuJGZhLXZhci10b2lsZXQtcG9ydGFibGU6IFxcZTU4MztcbiRmYS12YXItY29tcGFjdC1kaXNjOiBcXGY1MWY7XG4kZmEtdmFyLWZpbGUtYXJyb3ctZG93bjogXFxmNTZkO1xuJGZhLXZhci1maWxlLWRvd25sb2FkOiBcXGY1NmQ7XG4kZmEtdmFyLWNhcmF2YW46IFxcZjhmZjtcbiRmYS12YXItc2hpZWxkLWNhdDogXFxlNTcyO1xuJGZhLXZhci1ib2x0OiBcXGYwZTc7XG4kZmEtdmFyLXphcDogXFxmMGU3O1xuJGZhLXZhci1nbGFzcy13YXRlcjogXFxlNGY0O1xuJGZhLXZhci1vaWwtd2VsbDogXFxlNTMyO1xuJGZhLXZhci12YXVsdDogXFxlMmM1O1xuJGZhLXZhci1tYXJzOiBcXGYyMjI7XG4kZmEtdmFyLXRvaWxldDogXFxmN2Q4O1xuJGZhLXZhci1wbGFuZS1jaXJjbGUteG1hcms6IFxcZTU1NztcbiRmYS12YXIteWVuLXNpZ246IFxcZjE1NztcbiRmYS12YXItY255OiBcXGYxNTc7XG4kZmEtdmFyLWpweTogXFxmMTU3O1xuJGZhLXZhci1ybWI6IFxcZjE1NztcbiRmYS12YXIteWVuOiBcXGYxNTc7XG4kZmEtdmFyLXJ1YmxlLXNpZ246IFxcZjE1ODtcbiRmYS12YXItcm91YmxlOiBcXGYxNTg7XG4kZmEtdmFyLXJ1YjogXFxmMTU4O1xuJGZhLXZhci1ydWJsZTogXFxmMTU4O1xuJGZhLXZhci1zdW46IFxcZjE4NTtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWZhY2UtbGF1Z2gtd2luazogXFxmNTljO1xuJGZhLXZhci1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWhvcnNlLWhlYWQ6IFxcZjdhYjtcbiRmYS12YXItYm9yZS1ob2xlOiBcXGU0YzM7XG4kZmEtdmFyLWluZHVzdHJ5OiBcXGYyNzU7XG4kZmEtdmFyLWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvd3MtdHVybi10by1kb3RzOiBcXGU0YzE7XG4kZmEtdmFyLWZsb3Jpbi1zaWduOiBcXGUxODQ7XG4kZmEtdmFyLWFycm93LWRvd24tc2hvcnQtd2lkZTogXFxmODg0O1xuJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLWxlc3MtdGhhbjogXFwzYztcbiRmYS12YXItYW5nbGUtZG93bjogXFxmMTA3O1xuJGZhLXZhci1jYXItdHVubmVsOiBcXGU0ZGU7XG4kZmEtdmFyLWhlYWQtc2lkZS1jb3VnaDogXFxlMDYxO1xuJGZhLXZhci1ncmlwLWxpbmVzOiBcXGY3YTQ7XG4kZmEtdmFyLXRodW1icy1kb3duOiBcXGYxNjU7XG4kZmEtdmFyLXVzZXItbG9jazogXFxmNTAyO1xuJGZhLXZhci1hcnJvdy1yaWdodC1sb25nOiBcXGYxNzg7XG4kZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQ6IFxcZjE3ODtcbiRmYS12YXItYW5jaG9yLWNpcmNsZS14bWFyazogXFxlNGFjO1xuJGZhLXZhci1lbGxpcHNpczogXFxmMTQxO1xuJGZhLXZhci1lbGxpcHNpcy1oOiBcXGYxNDE7XG4kZmEtdmFyLWNoZXNzLXBhd246IFxcZjQ0MztcbiRmYS12YXIta2l0LW1lZGljYWw6IFxcZjQ3OTtcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLXBlcnNvbi10aHJvdWdoLXdpbmRvdzogXFxlNWE5O1xuJGZhLXZhci10b29sYm94OiBcXGY1NTI7XG4kZmEtdmFyLWhhbmRzLWhvbGRpbmctY2lyY2xlOiBcXGU0ZmI7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1jcmVkaXQtY2FyZDogXFxmMDlkO1xuJGZhLXZhci1jcmVkaXQtY2FyZC1hbHQ6IFxcZjA5ZDtcbiRmYS12YXItY2FyOiBcXGYxYjk7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFxcZjFiOTtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhhbmQ6IFxcZTRmNztcbiRmYS12YXItYm9vay1vcGVuLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1tb3VudGFpbi1zdW46IFxcZTUyZjtcbiRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZTogXFxlNGJhO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci10cnVjay1kcm9wbGV0OiBcXGU1OGM7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLXhtYXJrOiBcXGU1YTE7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LXVwOiBcXGUwNDA7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLXVwOiBcXGUwNDA7XG4kZmEtdmFyLW1lZGFsOiBcXGY1YTI7XG4kZmEtdmFyLWJlZDogXFxmMjM2O1xuJGZhLXZhci1zcXVhcmUtaDogXFxmMGZkO1xuJGZhLXZhci1oLXNxdWFyZTogXFxmMGZkO1xuJGZhLXZhci1wb2RjYXN0OiBcXGYyY2U7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWZ1bGw6IFxcZjJjNztcbiRmYS12YXItdGVtcGVyYXR1cmUtNDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci00OiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw6IFxcZjJjNztcbiRmYS12YXItYmVsbDogXFxmMGYzO1xuJGZhLXZhci1zdXBlcnNjcmlwdDogXFxmMTJiO1xuJGZhLXZhci1wbHVnLWNpcmNsZS14bWFyazogXFxlNTYwO1xuJGZhLXZhci1zdGFyLW9mLWxpZmU6IFxcZjYyMTtcbiRmYS12YXItcGhvbmUtc2xhc2g6IFxcZjNkZDtcbiRmYS12YXItcGFpbnQtcm9sbGVyOiBcXGY1YWE7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbmdsZTogXFxmNGM0O1xuJGZhLXZhci1oYW5kcy1oZWxwaW5nOiBcXGY0YzQ7XG4kZmEtdmFyLWxvY2F0aW9uLWRvdDogXFxmM2M1O1xuJGZhLXZhci1tYXAtbWFya2VyLWFsdDogXFxmM2M1O1xuJGZhLXZhci1maWxlOiBcXGYxNWI7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbjogXFwzZTtcbiRmYS12YXItcGVyc29uLXN3aW1taW5nOiBcXGY1YzQ7XG4kZmEtdmFyLXN3aW1tZXI6IFxcZjVjNDtcbiRmYS12YXItYXJyb3ctZG93bjogXFxmMDYzO1xuJGZhLXZhci1kcm9wbGV0OiBcXGYwNDM7XG4kZmEtdmFyLXRpbnQ6IFxcZjA0MztcbiRmYS12YXItZXJhc2VyOiBcXGYxMmQ7XG4kZmEtdmFyLWVhcnRoLWFtZXJpY2FzOiBcXGY1N2Q7XG4kZmEtdmFyLWVhcnRoOiBcXGY1N2Q7XG4kZmEtdmFyLWVhcnRoLWFtZXJpY2E6IFxcZjU3ZDtcbiRmYS12YXItZ2xvYmUtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItcGVyc29uLWJ1cnN0OiBcXGU1M2I7XG4kZmEtdmFyLWRvdmU6IFxcZjRiYTtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXFxmMjQ0O1xuJGZhLXZhci1iYXR0ZXJ5LTA6IFxcZjI0NDtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItaW5ib3g6IFxcZjAxYztcbiRmYS12YXItc2VjdGlvbjogXFxlNDQ3O1xuJGZhLXZhci1nYXVnZS1oaWdoOiBcXGY2MjU7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0OiBcXGY2MjU7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3Q6IFxcZjYyNTtcbiRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0OiBcXGY2NTg7XG4kZmEtdmFyLWhvc3BpdGFsOiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLWFsdDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC13aWRlOiBcXGYwZjg7XG4kZmEtdmFyLXdpbmUtYm90dGxlOiBcXGY3MmY7XG4kZmEtdmFyLWNoZXNzLXJvb2s6IFxcZjQ0NztcbiRmYS12YXItYmFycy1zdGFnZ2VyZWQ6IFxcZjU1MDtcbiRmYS12YXItcmVvcmRlcjogXFxmNTUwO1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItZGhhcm1hY2hha3JhOiBcXGY2NTU7XG4kZmEtdmFyLWhvdGRvZzogXFxmODBmO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy13aXRoLWNhbmU6IFxcZjI5ZDtcbiRmYS12YXItYmxpbmQ6IFxcZjI5ZDtcbiRmYS12YXItZHJ1bTogXFxmNTY5O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaGVhcnQtY2lyY2xlLWJvbHQ6IFxcZTRmYztcbiRmYS12YXItZmF4OiBcXGYxYWM7XG4kZmEtdmFyLXBhcmFncmFwaDogXFxmMWRkO1xuJGZhLXZhci1jaGVjay10by1zbG90OiBcXGY3NzI7XG4kZmEtdmFyLXZvdGUteWVhOiBcXGY3NzI7XG4kZmEtdmFyLXN0YXItaGFsZjogXFxmMDg5O1xuJGZhLXZhci1ib3hlcy1zdGFja2VkOiBcXGY0Njg7XG4kZmEtdmFyLWJveGVzOiBcXGY0Njg7XG4kZmEtdmFyLWJveGVzLWFsdDogXFxmNDY4O1xuJGZhLXZhci1saW5rOiBcXGYwYzE7XG4kZmEtdmFyLWNoYWluOiBcXGYwYzE7XG4kZmEtdmFyLWVhci1saXN0ZW46IFxcZjJhMjtcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcXGYyYTI7XG4kZmEtdmFyLXRyZWUtY2l0eTogXFxlNTg3O1xuJGZhLXZhci1wbGF5OiBcXGYwNGI7XG4kZmEtdmFyLWZvbnQ6IFxcZjAzMTtcbiRmYS12YXItcnVwaWFoLXNpZ246IFxcZTIzZDtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzczogXFxmMDAyO1xuJGZhLXZhci1zZWFyY2g6IFxcZjAwMjtcbiRmYS12YXItdGFibGUtdGVubmlzLXBhZGRsZS1iYWxsOiBcXGY0NWQ7XG4kZmEtdmFyLXBpbmctcG9uZy1wYWRkbGUtYmFsbDogXFxmNDVkO1xuJGZhLXZhci10YWJsZS10ZW5uaXM6IFxcZjQ1ZDtcbiRmYS12YXItcGVyc29uLWRvdHMtZnJvbS1saW5lOiBcXGY0NzA7XG4kZmEtdmFyLWRpYWdub3NlczogXFxmNDcwO1xuJGZhLXZhci10cmFzaC1jYW4tYXJyb3ctdXA6IFxcZjgyYTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZS1hbHQ6IFxcZjgyYTtcbiRmYS12YXItbmFpcmEtc2lnbjogXFxlMWY2O1xuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFxcZjIxODtcbiRmYS12YXItd2Fsa2llLXRhbGtpZTogXFxmOGVmO1xuJGZhLXZhci1maWxlLXBlbjogXFxmMzFjO1xuJGZhLXZhci1maWxlLWVkaXQ6IFxcZjMxYztcbiRmYS12YXItcmVjZWlwdDogXFxmNTQzO1xuJGZhLXZhci1zcXVhcmUtcGVuOiBcXGYxNGI7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nOiBcXGY1YzE7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTUzZjtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcXGYwNzg7XG4kZmEtdmFyLWJhdHRlcnktZnVsbDogXFxmMjQwO1xuJGZhLXZhci1iYXR0ZXJ5OiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnktNTogXFxmMjQwO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLWNvZGUtY29tcGFyZTogXFxlMTNhO1xuJGZhLXZhci1saXN0LXVsOiBcXGYwY2E7XG4kZmEtdmFyLWxpc3QtZG90czogXFxmMGNhO1xuJGZhLXZhci1zY2hvb2wtbG9jazogXFxlNTZmO1xuJGZhLXZhci10b3dlci1jZWxsOiBcXGU1ODU7XG4kZmEtdmFyLWRvd24tbG9uZzogXFxmMzA5O1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duOiBcXGYzMDk7XG4kZmEtdmFyLXJhbmtpbmctc3RhcjogXFxlNTYxO1xuJGZhLXZhci1jaGVzcy1raW5nOiBcXGY0M2Y7XG4kZmEtdmFyLXBlcnNvbi1oYXJhc3Npbmc6IFxcZTU0OTtcbiRmYS12YXItYnJhemlsaWFuLXJlYWwtc2lnbjogXFxlNDZjO1xuJGZhLXZhci1sYW5kbWFyay1kb21lOiBcXGY3NTI7XG4kZmEtdmFyLWxhbmRtYXJrLWFsdDogXFxmNzUyO1xuJGZhLXZhci1hcnJvdy11cDogXFxmMDYyO1xuJGZhLXZhci10djogXFxmMjZjO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcXGYyNmM7XG4kZmEtdmFyLXR2LWFsdDogXFxmMjZjO1xuJGZhLXZhci1zaHJpbXA6IFxcZTQ0ODtcbiRmYS12YXItbGlzdC1jaGVjazogXFxmMGFlO1xuJGZhLXZhci10YXNrczogXFxmMGFlO1xuJGZhLXZhci1qdWctZGV0ZXJnZW50OiBcXGU1MTk7XG4kZmEtdmFyLWNpcmNsZS11c2VyOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItY2lyY2xlOiBcXGYyYmQ7XG4kZmEtdmFyLXVzZXItc2hpZWxkOiBcXGY1MDU7XG4kZmEtdmFyLXdpbmQ6IFxcZjcyZTtcbiRmYS12YXItY2FyLWJ1cnN0OiBcXGY1ZTE7XG4kZmEtdmFyLWNhci1jcmFzaDogXFxmNWUxO1xuJGZhLXZhci15OiBcXDU5O1xuJGZhLXZhci1wZXJzb24tc25vd2JvYXJkaW5nOiBcXGY3Y2U7XG4kZmEtdmFyLXNub3dib2FyZGluZzogXFxmN2NlO1xuJGZhLXZhci10cnVjay1mYXN0OiBcXGY0OGI7XG4kZmEtdmFyLXNoaXBwaW5nLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItZmlzaDogXFxmNTc4O1xuJGZhLXZhci11c2VyLWdyYWR1YXRlOiBcXGY1MDE7XG4kZmEtdmFyLWNpcmNsZS1oYWxmLXN0cm9rZTogXFxmMDQyO1xuJGZhLXZhci1hZGp1c3Q6IFxcZjA0MjtcbiRmYS12YXItY2xhcHBlcmJvYXJkOiBcXGUxMzE7XG4kZmEtdmFyLWNpcmNsZS1yYWRpYXRpb246IFxcZjdiYTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1iYXNlYmFsbDogXFxmNDMzO1xuJGZhLXZhci1iYXNlYmFsbC1iYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWpldC1maWdodGVyLXVwOiBcXGU1MTg7XG4kZmEtdmFyLWRpYWdyYW0tcHJvamVjdDogXFxmNTQyO1xuJGZhLXZhci1wcm9qZWN0LWRpYWdyYW06IFxcZjU0MjtcbiRmYS12YXItY29weTogXFxmMGM1O1xuJGZhLXZhci12b2x1bWUteG1hcms6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLW11dGU6IFxcZjZhOTtcbiRmYS12YXItdm9sdW1lLXRpbWVzOiBcXGY2YTk7XG4kZmEtdmFyLWhhbmQtc3BhcmtsZXM6IFxcZTA1ZDtcbiRmYS12YXItZ3JpcDogXFxmNThkO1xuJGZhLXZhci1ncmlwLWhvcml6b250YWw6IFxcZjU4ZDtcbiRmYS12YXItc2hhcmUtZnJvbS1zcXVhcmU6IFxcZjE0ZDtcbiRmYS12YXItc2hhcmUtc3F1YXJlOiBcXGYxNGQ7XG4kZmEtdmFyLWNoaWxkLWNvbWJhdGFudDogXFxlNGUwO1xuJGZhLXZhci1jaGlsZC1yaWZsZTogXFxlNGUwO1xuJGZhLXZhci1ndW46IFxcZTE5YjtcbiRmYS12YXItc3F1YXJlLXBob25lOiBcXGYwOTg7XG4kZmEtdmFyLXBob25lLXNxdWFyZTogXFxmMDk4O1xuJGZhLXZhci1wbHVzOiBcXDJiO1xuJGZhLXZhci1hZGQ6IFxcMmI7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1jb21wdXRlcjogXFxlNGU1O1xuJGZhLXZhci14bWFyazogXFxmMDBkO1xuJGZhLXZhci1jbG9zZTogXFxmMDBkO1xuJGZhLXZhci1tdWx0aXBseTogXFxmMDBkO1xuJGZhLXZhci1yZW1vdmU6IFxcZjAwZDtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodDogXFxmMDQ3O1xuJGZhLXZhci1hcnJvd3M6IFxcZjA0NztcbiRmYS12YXItY2hhbGtib2FyZC11c2VyOiBcXGY1MWM7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1wZXNvLXNpZ246IFxcZTIyMjtcbiRmYS12YXItYnVpbGRpbmctc2hpZWxkOiBcXGU0ZDg7XG4kZmEtdmFyLWJhYnk6IFxcZjc3YztcbiRmYS12YXItdXNlcnMtbGluZTogXFxlNTkyO1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLWxlZnQtYWx0OiBcXGYxMGQ7XG4kZmEtdmFyLXRyYWN0b3I6IFxcZjcyMjtcbiRmYS12YXItdHJhc2gtYXJyb3ctdXA6IFxcZjgyOTtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci1hcnJvdy1kb3duLXVwLWxvY2s6IFxcZTRiMDtcbiRmYS12YXItbGluZXMtbGVhbmluZzogXFxlNTFlO1xuJGZhLXZhci1ydWxlci1jb21iaW5lZDogXFxmNTQ2O1xuJGZhLXZhci1jb3B5cmlnaHQ6IFxcZjFmOTtcbiRmYS12YXItZXF1YWxzOiBcXDNkO1xuJGZhLXZhci1ibGVuZGVyOiBcXGY1MTc7XG4kZmEtdmFyLXRlZXRoOiBcXGY2MmU7XG4kZmEtdmFyLXNoZWtlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLWlsczogXFxmMjBiO1xuJGZhLXZhci1zaGVrZWw6IFxcZjIwYjtcbiRmYS12YXItc2hlcWVsOiBcXGYyMGI7XG4kZmEtdmFyLXNoZXFlbC1zaWduOiBcXGYyMGI7XG4kZmEtdmFyLW1hcDogXFxmMjc5O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcGhvdG8tZmlsbTogXFxmODdjO1xuJGZhLXZhci1waG90by12aWRlbzogXFxmODdjO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItc3RvcmU6IFxcZjU0ZTtcbiRmYS12YXItYXJyb3ctdHJlbmQtdXA6IFxcZTA5ODtcbiRmYS12YXItcGx1Zy1jaXJjbGUtbWludXM6IFxcZTU1ZTtcbiRmYS12YXItc2lnbi1oYW5naW5nOiBcXGY0ZDk7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItYmV6aWVyLWN1cnZlOiBcXGY1NWI7XG4kZmEtdmFyLWJlbGwtc2xhc2g6IFxcZjFmNjtcbiRmYS12YXItdGFibGV0OiBcXGYzZmI7XG4kZmEtdmFyLXRhYmxldC1hbmRyb2lkOiBcXGYzZmI7XG4kZmEtdmFyLXNjaG9vbC1mbGFnOiBcXGU1NmU7XG4kZmEtdmFyLWZpbGw6IFxcZjU3NTtcbiRmYS12YXItYW5nbGUtdXA6IFxcZjEwNjtcbiRmYS12YXItZHJ1bXN0aWNrLWJpdGU6IFxcZjZkNztcbiRmYS12YXItaG9sbHktYmVycnk6IFxcZjdhYTtcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcXGYwNTM7XG4kZmEtdmFyLWJhY3RlcmlhOiBcXGUwNTk7XG4kZmEtdmFyLWhhbmQtbGl6YXJkOiBcXGYyNTg7XG4kZmEtdmFyLW5vdGRlZjogXFxlMWZlO1xuJGZhLXZhci1kaXNlYXNlOiBcXGY3ZmE7XG4kZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsOiBcXGY0Njk7XG4kZmEtdmFyLWdlbmRlcmxlc3M6IFxcZjIyZDtcbiRmYS12YXItY2hldnJvbi1yaWdodDogXFxmMDU0O1xuJGZhLXZhci1yZXR3ZWV0OiBcXGYwNzk7XG4kZmEtdmFyLWNhci1yZWFyOiBcXGY1ZGU7XG4kZmEtdmFyLWNhci1hbHQ6IFxcZjVkZTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXZpZGVvLXNsYXNoOiBcXGY0ZTI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXFxmMjQzO1xuJGZhLXZhci1iYXR0ZXJ5LTI6IFxcZjI0MztcbiRmYS12YXItcmFkaW86IFxcZjhkNztcbiRmYS12YXItYmFieS1jYXJyaWFnZTogXFxmNzdkO1xuJGZhLXZhci1jYXJyaWFnZS1iYWJ5OiBcXGY3N2Q7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQ6IFxcZjYzNztcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcjogXFxmODA2O1xuJGZhLXZhci1wZXJjZW50OiBcXDI1O1xuJGZhLXZhci1wZXJjZW50YWdlOiBcXDI1O1xuJGZhLXZhci10cnVjay1tb3Zpbmc6IFxcZjRkZjtcbiRmYS12YXItZ2xhc3Mtd2F0ZXItZHJvcGxldDogXFxlNGY1O1xuJGZhLXZhci1kaXNwbGF5OiBcXGUxNjM7XG4kZmEtdmFyLWZhY2Utc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItdGh1bWJ0YWNrOiBcXGYwOGQ7XG4kZmEtdmFyLXRodW1iLXRhY2s6IFxcZjA4ZDtcbiRmYS12YXItdHJvcGh5OiBcXGYwOTE7XG4kZmEtdmFyLXBlcnNvbi1wcmF5aW5nOiBcXGY2ODM7XG4kZmEtdmFyLXByYXk6IFxcZjY4MztcbiRmYS12YXItaGFtbWVyOiBcXGY2ZTM7XG4kZmEtdmFyLWhhbmQtcGVhY2U6IFxcZjI1YjtcbiRmYS12YXItcm90YXRlOiBcXGYyZjE7XG4kZmEtdmFyLXN5bmMtYWx0OiBcXGYyZjE7XG4kZmEtdmFyLXNwaW5uZXI6IFxcZjExMDtcbiRmYS12YXItcm9ib3Q6IFxcZjU0NDtcbiRmYS12YXItcGVhY2U6IFxcZjY3YztcbiRmYS12YXItZ2VhcnM6IFxcZjA4NTtcbiRmYS12YXItY29nczogXFxmMDg1O1xuJGZhLXZhci13YXJlaG91c2U6IFxcZjQ5NDtcbiRmYS12YXItYXJyb3ctdXAtcmlnaHQtZG90czogXFxlNGI3O1xuJGZhLXZhci1zcGxvdGNoOiBcXGY1YmM7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZ3Jpbi1oZWFydHM6IFxcZjU4NDtcbiRmYS12YXItZGljZS1mb3VyOiBcXGY1MjQ7XG4kZmEtdmFyLXNpbS1jYXJkOiBcXGY3YzQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjU7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci1tZXJjdXJ5OiBcXGYyMjM7XG4kZmEtdmFyLWFycm93LXR1cm4tZG93bjogXFxmMTQ5O1xuJGZhLXZhci1sZXZlbC1kb3duOiBcXGYxNDk7XG4kZmEtdmFyLXBlcnNvbi1mYWxsaW5nLWJ1cnN0OiBcXGU1NDc7XG4kZmEtdmFyLWF3YXJkOiBcXGY1NTk7XG4kZmEtdmFyLXRpY2tldC1zaW1wbGU6IFxcZjNmZjtcbiRmYS12YXItdGlja2V0LWFsdDogXFxmM2ZmO1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1hbmdsZXMtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXFxmMTAwO1xuJGZhLXZhci1xcmNvZGU6IFxcZjAyOTtcbiRmYS12YXItY2xvY2stcm90YXRlLWxlZnQ6IFxcZjFkYTtcbiRmYS12YXItaGlzdG9yeTogXFxmMWRhO1xuJGZhLXZhci1mYWNlLWdyaW4tYmVhbS1zd2VhdDogXFxmNTgzO1xuJGZhLXZhci1ncmluLWJlYW0tc3dlYXQ6IFxcZjU4MztcbiRmYS12YXItZmlsZS1leHBvcnQ6IFxcZjU2ZTtcbiRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1maWxlOiBcXGY1NmU7XG4kZmEtdmFyLXNoaWVsZDogXFxmMTMyO1xuJGZhLXZhci1zaGllbGQtYmxhbms6IFxcZjEzMjtcbiRmYS12YXItYXJyb3ctdXAtc2hvcnQtd2lkZTogXFxmODg1O1xuJGZhLXZhci1zb3J0LWFtb3VudC11cC1hbHQ6IFxcZjg4NTtcbiRmYS12YXItaG91c2UtbWVkaWNhbDogXFxlM2IyO1xuJGZhLXZhci1nb2xmLWJhbGwtdGVlOiBcXGY0NTA7XG4kZmEtdmFyLWdvbGYtYmFsbDogXFxmNDUwO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi1sZWZ0OiBcXGYxMzc7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQ6IFxcZjEzNztcbiRmYS12YXItaG91c2UtY2hpbW5leS13aW5kb3c6IFxcZTAwZDtcbiRmYS12YXItcGVuLW5pYjogXFxmNWFkO1xuJGZhLXZhci10ZW50LWFycm93LXR1cm4tbGVmdDogXFxlNTgwO1xuJGZhLXZhci10ZW50czogXFxlNTgyO1xuJGZhLXZhci13YW5kLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLWRvZzogXFxmNmQzO1xuJGZhLXZhci1jYXJyb3Q6IFxcZjc4NztcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci13aW5lLWdsYXNzLWVtcHR5OiBcXGY1Y2U7XG4kZmEtdmFyLXdpbmUtZ2xhc3MtYWx0OiBcXGY1Y2U7XG4kZmEtdmFyLWNoZWVzZTogXFxmN2VmO1xuJGZhLXZhci15aW4teWFuZzogXFxmNmFkO1xuJGZhLXZhci1tdXNpYzogXFxmMDAxO1xuJGZhLXZhci1jb2RlLWNvbW1pdDogXFxmMzg2O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItcGVyc29uLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1iaWtpbmc6IFxcZjg0YTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItc2hpZWxkLWhlYXJ0OiBcXGU1NzQ7XG4kZmEtdmFyLWdvcHVyYW06IFxcZjY2NDtcbiRmYS12YXItZWFydGgtb2NlYW5pYTogXFxlNDdiO1xuJGZhLXZhci1nbG9iZS1vY2VhbmlhOiBcXGU0N2I7XG4kZmEtdmFyLXNxdWFyZS14bWFyazogXFxmMmQzO1xuJGZhLXZhci10aW1lcy1zcXVhcmU6IFxcZjJkMztcbiRmYS12YXIteG1hcmstc3F1YXJlOiBcXGYyZDM7XG4kZmEtdmFyLWhhc2h0YWc6IFxcMjM7XG4kZmEtdmFyLXVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXI6IFxcZjQyNDtcbiRmYS12YXItZXhwYW5kLWFsdDogXFxmNDI0O1xuJGZhLXZhci1vaWwtY2FuOiBcXGY2MTM7XG4kZmEtdmFyLXQ6IFxcNTQ7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWNoYXJ0LWNvbHVtbjogXFxlMGUzO1xuJGZhLXZhci1pbmZpbml0eTogXFxmNTM0O1xuJGZhLXZhci12aWFsLWNpcmNsZS1jaGVjazogXFxlNTk2O1xuJGZhLXZhci1wZXJzb24tYXJyb3ctZG93bi10by1saW5lOiBcXGU1Mzg7XG4kZmEtdmFyLXZvaWNlbWFpbDogXFxmODk3O1xuJGZhLXZhci1mYW46IFxcZjg2MztcbiRmYS12YXItcGVyc29uLXdhbGtpbmctbHVnZ2FnZTogXFxlNTU0O1xuJGZhLXZhci11cC1kb3duOiBcXGYzMzg7XG4kZmEtdmFyLWFycm93cy1hbHQtdjogXFxmMzM4O1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2FsZW5kYXI6IFxcZjEzMztcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci1iYWhhaTogXFxmNjY2O1xuJGZhLXZhci1oYXlrYWw6IFxcZjY2NjtcbiRmYS12YXItc2QtY2FyZDogXFxmN2MyO1xuJGZhLXZhci1kcmFnb246IFxcZjZkNTtcbiRmYS12YXItc2hvZS1wcmludHM6IFxcZjU0YjtcbiRmYS12YXItY2lyY2xlLXBsdXM6IFxcZjA1NTtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFxcZjA1NTtcbiRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS13aW5rOiBcXGY1OGI7XG4kZmEtdmFyLWdyaW4tdG9uZ3VlLXdpbms6IFxcZjU4YjtcbiRmYS12YXItaGFuZC1ob2xkaW5nOiBcXGY0YmQ7XG4kZmEtdmFyLXBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NWQ7XG4kZmEtdmFyLWxpbmstc2xhc2g6IFxcZjEyNztcbiRmYS12YXItY2hhaW4tYnJva2VuOiBcXGYxMjc7XG4kZmEtdmFyLWNoYWluLXNsYXNoOiBcXGYxMjc7XG4kZmEtdmFyLXVubGluazogXFxmMTI3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1sb29wLWxlZnQ6IFxcZTU1MTtcbiRmYS12YXItYXJyb3ctdXAtei1hOiBcXGY4ODI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0OiBcXGY4ODI7XG4kZmEtdmFyLWZpcmUtZmxhbWUtY3VydmVkOiBcXGY3ZTQ7XG4kZmEtdmFyLWZpcmUtYWx0OiBcXGY3ZTQ7XG4kZmEtdmFyLXRvcm5hZG86IFxcZjc2ZjtcbiRmYS12YXItZmlsZS1jaXJjbGUtcGx1czogXFxlNDk0O1xuJGZhLXZhci1ib29rLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLWFuY2hvcjogXFxmMTNkO1xuJGZhLXZhci1ib3JkZXItYWxsOiBcXGY4NGM7XG4kZmEtdmFyLWZhY2UtYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItYW5ncnk6IFxcZjU1NjtcbiRmYS12YXItY29va2llLWJpdGU6IFxcZjU2NDtcbiRmYS12YXItYXJyb3ctdHJlbmQtZG93bjogXFxlMDk3O1xuJGZhLXZhci1yc3M6IFxcZjA5ZTtcbiRmYS12YXItZmVlZDogXFxmMDllO1xuJGZhLXZhci1kcmF3LXBvbHlnb246IFxcZjVlZTtcbiRmYS12YXItc2NhbGUtYmFsYW5jZWQ6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZTogXFxmMjRlO1xuJGZhLXZhci1nYXVnZS1zaW1wbGUtaGlnaDogXFxmNjJhO1xuJGZhLXZhci10YWNob21ldGVyOiBcXGY2MmE7XG4kZmEtdmFyLXRhY2hvbWV0ZXItZmFzdDogXFxmNjJhO1xuJGZhLXZhci1zaG93ZXI6IFxcZjJjYztcbiRmYS12YXItZGVza3RvcDogXFxmMzkwO1xuJGZhLXZhci1kZXNrdG9wLWFsdDogXFxmMzkwO1xuJGZhLXZhci1tOiBcXDRkO1xuJGZhLXZhci10YWJsZS1saXN0OiBcXGYwMGI7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItY29tbWVudC1zbXM6IFxcZjdjZDtcbiRmYS12YXItc21zOiBcXGY3Y2Q7XG4kZmEtdmFyLWJvb2s6IFxcZjAyZDtcbiRmYS12YXItdXNlci1wbHVzOiBcXGYyMzQ7XG4kZmEtdmFyLWNoZWNrOiBcXGYwMGM7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGVyeS00OiBcXGYyNDE7XG4kZmEtdmFyLWhvdXNlLWNpcmNsZS1jaGVjazogXFxlNTA5O1xuJGZhLXZhci1hbmdsZS1sZWZ0OiBcXGYxMDQ7XG4kZmEtdmFyLWRpYWdyYW0tc3VjY2Vzc29yOiBcXGU0N2E7XG4kZmEtdmFyLXRydWNrLWFycm93LXJpZ2h0OiBcXGU1OGI7XG4kZmEtdmFyLWFycm93cy1zcGxpdC11cC1hbmQtbGVmdDogXFxlNGJjO1xuJGZhLXZhci1oYW5kLWZpc3Q6IFxcZjZkZTtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1icmllZmNhc2U6IFxcZjBiMTtcbiRmYS12YXItcGVyc29uLWZhbGxpbmc6IFxcZTU0NjtcbiRmYS12YXItaW1hZ2UtcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItdXNlci10YWc6IFxcZjUwNztcbiRmYS12YXItcnVnOiBcXGU1Njk7XG4kZmEtdmFyLWVhcnRoLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nbG9iZS1ldXJvcGU6IFxcZjdhMjtcbiRmYS12YXItY2FydC1mbGF0YmVkLXN1aXRjYXNlOiBcXGY1OWQ7XG4kZmEtdmFyLWx1Z2dhZ2UtY2FydDogXFxmNTlkO1xuJGZhLXZhci1yZWN0YW5nbGUteG1hcms6IFxcZjQxMDtcbiRmYS12YXItcmVjdGFuZ2xlLXRpbWVzOiBcXGY0MTA7XG4kZmEtdmFyLXRpbWVzLXJlY3RhbmdsZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctY2xvc2U6IFxcZjQxMDtcbiRmYS12YXItYmFodC1zaWduOiBcXGUwYWM7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWpvdXJuYWwtd2hpbGxzOiBcXGY2NmE7XG4kZmEtdmFyLWhhbmRjdWZmczogXFxlNGY4O1xuJGZhLXZhci10cmlhbmdsZS1leGNsYW1hdGlvbjogXFxmMDcxO1xuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXFxmMDcxO1xuJGZhLXZhci13YXJuaW5nOiBcXGYwNzE7XG4kZmEtdmFyLWRhdGFiYXNlOiBcXGYxYzA7XG4kZmEtdmFyLXNoYXJlOiBcXGYwNjQ7XG4kZmEtdmFyLW1haWwtZm9yd2FyZDogXFxmMDY0O1xuJGZhLXZhci1ib3R0bGUtZHJvcGxldDogXFxlNGM0O1xuJGZhLXZhci1tYXNrLWZhY2U6IFxcZTFkNztcbiRmYS12YXItaGlsbC1yb2Nrc2xpZGU6IFxcZTUwODtcbiRmYS12YXItcmlnaHQtbGVmdDogXFxmMzYyO1xuJGZhLXZhci1leGNoYW5nZS1hbHQ6IFxcZjM2MjtcbiRmYS12YXItcGFwZXItcGxhbmU6IFxcZjFkODtcbiRmYS12YXItcm9hZC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU2NTtcbiRmYS12YXItZHVuZ2VvbjogXFxmNmQ5O1xuJGZhLXZhci1hbGlnbi1yaWdodDogXFxmMDM4O1xuJGZhLXZhci1tb25leS1iaWxsLTEtd2F2ZTogXFxmNTNiO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0OiBcXGY1M2I7XG4kZmEtdmFyLWxpZmUtcmluZzogXFxmMWNkO1xuJGZhLXZhci1oYW5kczogXFxmMmE3O1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ25pbmc6IFxcZjJhNztcbiRmYS12YXItY2FsZW5kYXItZGF5OiBcXGY3ODM7XG4kZmEtdmFyLXdhdGVyLWxhZGRlcjogXFxmNWM1O1xuJGZhLXZhci1sYWRkZXItd2F0ZXI6IFxcZjVjNTtcbiRmYS12YXItc3dpbW1pbmctcG9vbDogXFxmNWM1O1xuJGZhLXZhci1hcnJvd3MtdXAtZG93bjogXFxmMDdkO1xuJGZhLXZhci1hcnJvd3MtdjogXFxmMDdkO1xuJGZhLXZhci1mYWNlLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci13aGVlbGNoYWlyLW1vdmU6IFxcZTJjZTtcbiRmYS12YXItd2hlZWxjaGFpci1hbHQ6IFxcZTJjZTtcbiRmYS12YXItdHVybi1kb3duOiBcXGYzYmU7XG4kZmEtdmFyLWxldmVsLWRvd24tYWx0OiBcXGYzYmU7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0OiBcXGU1NTI7XG4kZmEtdmFyLXNxdWFyZS1lbnZlbG9wZTogXFxmMTk5O1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFxcZjE5OTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1ib3dsaW5nLWJhbGw6IFxcZjQzNjtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYmFuZGFnZTogXFxmNDYyO1xuJGZhLXZhci1iYW5kLWFpZDogXFxmNDYyO1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jaXJjbGUteG1hcms6IFxcZjA1NztcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXhtYXJrLWNpcmNsZTogXFxmMDU3O1xuJGZhLXZhci1naWZ0czogXFxmNzljO1xuJGZhLXZhci1ob3RlbDogXFxmNTk0O1xuJGZhLXZhci1lYXJ0aC1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWFzaWE6IFxcZjU3ZTtcbiRmYS12YXItaWQtY2FyZC1jbGlwOiBcXGY0N2Y7XG4kZmEtdmFyLWlkLWNhcmQtYWx0OiBcXGY0N2Y7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtcGx1czogXFxmMDBlO1xuJGZhLXZhci1zZWFyY2gtcGx1czogXFxmMDBlO1xuJGZhLXZhci10aHVtYnMtdXA6IFxcZjE2NDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci1oYW5kLWRvdHM6IFxcZjQ2MTtcbiRmYS12YXItYWxsZXJnaWVzOiBcXGY0NjE7XG4kZmEtdmFyLWZpbGUtaW52b2ljZTogXFxmNTcwO1xuJGZhLXZhci13aW5kb3ctbWluaW1pemU6IFxcZjJkMTtcbiRmYS12YXItbXVnLXNhdWNlcjogXFxmMGY0O1xuJGZhLXZhci1jb2ZmZWU6IFxcZjBmNDtcbiRmYS12YXItYnJ1c2g6IFxcZjU1ZDtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXNlYXJjaC1taW51czogXFxmMDEwO1xuJGZhLXZhci1ydWxlci12ZXJ0aWNhbDogXFxmNTQ4O1xuJGZhLXZhci11c2VyLWxhcmdlOiBcXGY0MDY7XG4kZmEtdmFyLXVzZXItYWx0OiBcXGY0MDY7XG4kZmEtdmFyLXRyYWluLXRyYW06IFxcZTViNDtcbiRmYS12YXItdXNlci1udXJzZTogXFxmODJmO1xuJGZhLXZhci1zeXJpbmdlOiBcXGY0OGU7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1zdG9wd2F0Y2gtMjA6IFxcZTA2ZjtcbiRmYS12YXItc3F1YXJlLWZ1bGw6IFxcZjQ1YztcbiRmYS12YXItbWFnbmV0OiBcXGYwNzY7XG4kZmEtdmFyLWphcjogXFxlNTE2O1xuJGZhLXZhci1ub3RlLXN0aWNreTogXFxmMjQ5O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1idWctc2xhc2g6IFxcZTQ5MDtcbiRmYS12YXItYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wOiBcXGU0YjY7XG4kZmEtdmFyLWJvbmU6IFxcZjVkNztcbiRmYS12YXItdXNlci1pbmp1cmVkOiBcXGY3Mjg7XG4kZmEtdmFyLWZhY2Utc2FkLXRlYXI6IFxcZjViNDtcbiRmYS12YXItc2FkLXRlYXI6IFxcZjViNDtcbiRmYS12YXItcGxhbmU6IFxcZjA3MjtcbiRmYS12YXItdGVudC1hcnJvd3MtZG93bjogXFxlNTgxO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXFwyMTtcbiRmYS12YXItYXJyb3dzLXNwaW46IFxcZTRiYjtcbiRmYS12YXItcHJpbnQ6IFxcZjAyZjtcbiRmYS12YXItdHVya2lzaC1saXJhLXNpZ246IFxcZTJiYjtcbiRmYS12YXItdHJ5OiBcXGUyYmI7XG4kZmEtdmFyLXR1cmtpc2gtbGlyYTogXFxlMmJiO1xuJGZhLXZhci1kb2xsYXItc2lnbjogXFwyNDtcbiRmYS12YXItZG9sbGFyOiBcXDI0O1xuJGZhLXZhci11c2Q6IFxcMjQ7XG4kZmEtdmFyLXg6IFxcNTg7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyOiBcXGY2ODg7XG4kZmEtdmFyLXNlYXJjaC1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItdXNlcnMtZ2VhcjogXFxmNTA5O1xuJGZhLXZhci11c2Vycy1jb2c6IFxcZjUwOTtcbiRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nOiBcXGU1NGE7XG4kZmEtdmFyLWJ1aWxkaW5nLWNvbHVtbnM6IFxcZjE5YztcbiRmYS12YXItYmFuazogXFxmMTljO1xuJGZhLXZhci1pbnN0aXR1dGlvbjogXFxmMTljO1xuJGZhLXZhci1tdXNldW06IFxcZjE5YztcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bWJyZWxsYTogXFxmMGU5O1xuJGZhLXZhci10cm93ZWw6IFxcZTU4OTtcbiRmYS12YXItZDogXFw0NDtcbiRmYS12YXItc3RhcGxlcjogXFxlNWFmO1xuJGZhLXZhci1tYXNrcy10aGVhdGVyOiBcXGY2MzA7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXIta2lwLXNpZ246IFxcZTFjNDtcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGU6IFxcZjRjNjtcbiRmYS12YXItaGFuZHNoYWtlLWFsdDogXFxmNGM2O1xuJGZhLXZhci1qZXQtZmlnaHRlcjogXFxmMGZiO1xuJGZhLXZhci1maWdodGVyLWpldDogXFxmMGZiO1xuJGZhLXZhci1zcXVhcmUtc2hhcmUtbm9kZXM6IFxcZjFlMTtcbiRmYS12YXItc2hhcmUtYWx0LXNxdWFyZTogXFxmMWUxO1xuJGZhLXZhci1iYXJjb2RlOiBcXGYwMmE7XG4kZmEtdmFyLXBsdXMtbWludXM6IFxcZTQzYztcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tY2FtZXJhOiBcXGYwM2Q7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcXGYxOWQ7XG4kZmEtdmFyLW1vcnRhci1ib2FyZDogXFxmMTlkO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbDogXFxlMDVjO1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLWNoZWNrOiBcXGU1M2U7XG4kZmEtdmFyLXR1cm4tdXA6IFxcZjNiZjtcbiRmYS12YXItbGV2ZWwtdXAtYWx0OiBcXGYzYmY7XG5cbiRmYS12YXItbW9uZXJvOiBcXGYzZDA7XG4kZmEtdmFyLWhvb2xpOiBcXGY0Mjc7XG4kZmEtdmFyLXllbHA6IFxcZjFlOTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1sYXN0Zm06IFxcZjIwMjtcbiRmYS12YXItc2hvcHdhcmU6IFxcZjViNTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYzogXFxmNGU4O1xuJGZhLXZhci1hd3M6IFxcZjM3NTtcbiRmYS12YXItcmVkaGF0OiBcXGY3YmM7XG4kZmEtdmFyLXlvYXN0OiBcXGYyYjE7XG4kZmEtdmFyLWNsb3VkZmxhcmU6IFxcZTA3ZDtcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXBpeGl2OiBcXGU2NDA7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItZHlhbG9nOiBcXGYzOTk7XG4kZmEtdmFyLWJpdHk6IFxcZjM3YTtcbiRmYS12YXItc3RhY2twYXRoOiBcXGY4NDI7XG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFxcZjIwZDtcbiRmYS12YXItZmlyc3Qtb3JkZXI6IFxcZjJiMDtcbiRmYS12YXItbW9keDogXFxmMjg1O1xuJGZhLXZhci1ndWlsZGVkOiBcXGUwN2U7XG4kZmEtdmFyLXZudjogXFxmNDBiO1xuJGZhLXZhci1zcXVhcmUtanM6IFxcZjNiOTtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLW1pY3Jvc29mdDogXFxmM2NhO1xuJGZhLXZhci1xcTogXFxmMWQ2O1xuJGZhLXZhci1vcmNpZDogXFxmOGQyO1xuJGZhLXZhci1qYXZhOiBcXGY0ZTQ7XG4kZmEtdmFyLWludmlzaW9uOiBcXGY3YjA7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OiBcXGY0ZWQ7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItZ2xpZGUtZzogXFxmMmE2O1xuJGZhLXZhci1kcnVwYWw6IFxcZjFhOTtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5OiBcXGY0ZTc7XG4kZmEtdmFyLXVuaXR5OiBcXGUwNDk7XG4kZmEtdmFyLXdobWNzOiBcXGY0MGQ7XG4kZmEtdmFyLXJvY2tldGNoYXQ6IFxcZjNlODtcbiRmYS12YXItdms6IFxcZjE4OTtcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci1tYWlsY2hpbXA6IFxcZjU5ZTtcbiRmYS12YXItY3NzMy1hbHQ6IFxcZjM4YjtcbiRmYS12YXItc3F1YXJlLXJlZGRpdDogXFxmMWEyO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcXGYxYTI7XG4kZmEtdmFyLXZpbWVvLXY6IFxcZjI3ZDtcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWU6IFxcZTVhZDtcbiRmYS12YXItZGVza3BybzogXFxmMzhmO1xuJGZhLXZhci1icmF2ZTogXFxlNjNjO1xuJGZhLXZhci1zaXN0cml4OiBcXGYzZWU7XG4kZmEtdmFyLXNxdWFyZS1pbnN0YWdyYW06IFxcZTA1NTtcbiRmYS12YXItaW5zdGFncmFtLXNxdWFyZTogXFxlMDU1O1xuJGZhLXZhci1iYXR0bGUtbmV0OiBcXGY4MzU7XG4kZmEtdmFyLXRoZS1yZWQteWV0aTogXFxmNjlkO1xuJGZhLXZhci1zcXVhcmUtaGFja2VyLW5ld3M6IFxcZjNhZjtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWVkZ2U6IFxcZjI4MjtcbiRmYS12YXItdGhyZWFkczogXFxlNjE4O1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLXNxdWFyZS1zbmFwY2hhdDogXFxmMmFkO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFxcZjJhZDtcbiRmYS12YXItZ29vZ2xlLXBsdXMtZzogXFxmMGQ1O1xuJGZhLXZhci1hcnRzdGF0aW9uOiBcXGY3N2E7XG4kZmEtdmFyLW1hcmtkb3duOiBcXGY2MGY7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFxcZjJiMztcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZm91cnNxdWFyZTogXFxmMTgwO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXFxmMTZjO1xuJGZhLXZhci1naXRodWItYWx0OiBcXGYxMTM7XG4kZmEtdmFyLXBob2VuaXgtc3F1YWRyb246IFxcZjUxMTtcbiRmYS12YXItcGFnZWxpbmVzOiBcXGYxOGM7XG4kZmEtdmFyLWFsZ29saWE6IFxcZjM2YztcbiRmYS12YXItcmVkLXJpdmVyOiBcXGYzZTM7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2E6IFxcZjRlZjtcbiRmYS12YXItc2FmYXJpOiBcXGYyNjc7XG4kZmEtdmFyLWdvb2dsZTogXFxmMWEwO1xuJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTogXFxmMzVjO1xuJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0OiBcXGYzNWM7XG4kZmEtdmFyLWF0bGFzc2lhbjogXFxmNzdiO1xuJGZhLXZhci1saW5rZWRpbi1pbjogXFxmMGUxO1xuJGZhLXZhci1kaWdpdGFsLW9jZWFuOiBcXGYzOTE7XG4kZmEtdmFyLW5pbWJscjogXFxmNWE4O1xuJGZhLXZhci1jaHJvbWVjYXN0OiBcXGY4Mzg7XG4kZmEtdmFyLWV2ZXJub3RlOiBcXGY4Mzk7XG4kZmEtdmFyLWhhY2tlci1uZXdzOiBcXGYxZDQ7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6IFxcZjRmMDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXFxmMjVlO1xuJGZhLXZhci13YXRjaG1hbi1tb25pdG9yaW5nOiBcXGUwODc7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci13ZWl4aW46IFxcZjFkNztcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcXGYyMTQ7XG4kZmEtdmFyLWNvZGVwZW46IFxcZjFjYjtcbiRmYS12YXItZ2l0LWFsdDogXFxmODQxO1xuJGZhLXZhci1seWZ0OiBcXGYzYzM7XG4kZmEtdmFyLXJldjogXFxmNWIyO1xuJGZhLXZhci13aW5kb3dzOiBcXGYxN2E7XG4kZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0OiBcXGY3MzA7XG4kZmEtdmFyLXNxdWFyZS12aWFkZW86IFxcZjJhYTtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXFxmMmFhO1xuJGZhLXZhci1tZWV0dXA6IFxcZjJlMDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWFkbjogXFxmMTcwO1xuJGZhLXZhci1jbG91ZHNtaXRoOiBcXGYzODQ7XG4kZmEtdmFyLW9wZW5zdXNlOiBcXGU2MmI7XG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcXGYxYTg7XG4kZmEtdmFyLXNxdWFyZS1kcmliYmJsZTogXFxmMzk3O1xuJGZhLXZhci1kcmliYmJsZS1zcXVhcmU6IFxcZjM5NztcbiRmYS12YXItY29kaWVwaWU6IFxcZjI4NDtcbiRmYS12YXItbm9kZTogXFxmNDE5O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItc3RlYW06IFxcZjFiNjtcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLXNjcmliZDogXFxmMjhhO1xuJGZhLXZhci1kZWJpYW46IFxcZTYwYjtcbiRmYS12YXItb3BlbmlkOiBcXGYxOWI7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWV4cGVkaXRlZHNzbDogXFxmMjNlO1xuJGZhLXZhci1zZWxsY2FzdDogXFxmMmRhO1xuJGZhLXZhci1zcXVhcmUtdHdpdHRlcjogXFxmMDgxO1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci1yLXByb2plY3Q6IFxcZjRmNztcbiRmYS12YXItZGVsaWNpb3VzOiBcXGYxYTU7XG4kZmEtdmFyLWZyZWVic2Q6IFxcZjNhNDtcbiRmYS12YXItdnVlanM6IFxcZjQxZjtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItaW94aG9zdDogXFxmMjA4O1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItYXBwLXN0b3JlOiBcXGYzNmY7XG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFxcZjFmMTtcbiRmYS12YXItaXR1bmVzLW5vdGU6IFxcZjNiNTtcbiRmYS12YXItZ29sYW5nOiBcXGU0MGY7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWdyYXY6IFxcZjJkNjtcbiRmYS12YXItd2VpYm86IFxcZjE4YTtcbiRmYS12YXItdW5jaGFydGVkOiBcXGUwODQ7XG4kZmEtdmFyLWZpcnN0ZHJhZnQ6IFxcZjNhMTtcbiRmYS12YXItc3F1YXJlLXlvdXR1YmU6IFxcZjQzMTtcbiRmYS12YXIteW91dHViZS1zcXVhcmU6IFxcZjQzMTtcbiRmYS12YXItd2lraXBlZGlhLXc6IFxcZjI2NjtcbiRmYS12YXItd3ByZXNzcjogXFxmM2U0O1xuJGZhLXZhci1yZW5kYWN0OiBcXGYzZTQ7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXFxmMjA5O1xuJGZhLXZhci1nYWxhY3RpYy1yZXB1YmxpYzogXFxmNTBjO1xuJGZhLXZhci1uZmMtZGlyZWN0aW9uYWw6IFxcZTUzMDtcbiRmYS12YXItc2t5cGU6IFxcZjE3ZTtcbiRmYS12YXItam9nZXQ6IFxcZjNiNztcbiRmYS12YXItZmVkb3JhOiBcXGY3OTg7XG4kZmEtdmFyLXN0cmlwZS1zOiBcXGY0MmE7XG4kZmEtdmFyLW1ldGE6IFxcZTQ5YjtcbiRmYS12YXItbGFyYXZlbDogXFxmM2JkO1xuJGZhLXZhci1ob3RqYXI6IFxcZjNiMTtcbiRmYS12YXItYmx1ZXRvb3RoLWI6IFxcZjI5NDtcbiRmYS12YXItc3F1YXJlLWxldHRlcmJveGQ6IFxcZTYyZTtcbiRmYS12YXItc3RpY2tlci1tdWxlOiBcXGYzZjc7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybzogXFxmNGYzO1xuJGZhLXZhci1oaXBzOiBcXGY0NTI7XG4kZmEtdmFyLWJlaGFuY2U6IFxcZjFiNDtcbiRmYS12YXItcmVkZGl0OiBcXGYxYTE7XG4kZmEtdmFyLWRpc2NvcmQ6IFxcZjM5MjtcbiRmYS12YXItY2hyb21lOiBcXGYyNjg7XG4kZmEtdmFyLWFwcC1zdG9yZS1pb3M6IFxcZjM3MDtcbiRmYS12YXItY2MtZGlzY292ZXI6IFxcZjFmMjtcbiRmYS12YXItd3BiZWdpbm5lcjogXFxmMjk3O1xuJGZhLXZhci1jb25mbHVlbmNlOiBcXGY3OGQ7XG4kZmEtdmFyLXNob2VsYWNlOiBcXGU2MGM7XG4kZmEtdmFyLW1kYjogXFxmOGNhO1xuJGZhLXZhci1kb2NodWI6IFxcZjM5NDtcbiRmYS12YXItYWNjZXNzaWJsZS1pY29uOiBcXGYzNjg7XG4kZmEtdmFyLWViYXk6IFxcZjRmNDtcbiRmYS12YXItYW1hem9uOiBcXGYyNzA7XG4kZmEtdmFyLXVuc3BsYXNoOiBcXGUwN2M7XG4kZmEtdmFyLXlhcm46IFxcZjdlMztcbiRmYS12YXItc3F1YXJlLXN0ZWFtOiBcXGYxYjc7XG4kZmEtdmFyLXN0ZWFtLXNxdWFyZTogXFxmMWI3O1xuJGZhLXZhci01MDBweDogXFxmMjZlO1xuJGZhLXZhci1zcXVhcmUtdmltZW86IFxcZjE5NDtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcXGYxOTQ7XG4kZmEtdmFyLWFzeW1tZXRyaWs6IFxcZjM3MjtcbiRmYS12YXItZm9udC1hd2Vzb21lOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnOiBcXGYyYjQ7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6IFxcZjJiNDtcbiRmYS12YXItZ3JhdGlwYXk6IFxcZjE4NDtcbiRmYS12YXItYXBwbGU6IFxcZjE3OTtcbiRmYS12YXItaGl2ZTogXFxlMDdmO1xuJGZhLXZhci1naXRrcmFrZW46IFxcZjNhNjtcbiRmYS12YXIta2V5YmFzZTogXFxmNGY1O1xuJGZhLXZhci1hcHBsZS1wYXk6IFxcZjQxNTtcbiRmYS12YXItcGFkbGV0OiBcXGU0YTA7XG4kZmEtdmFyLWFtYXpvbi1wYXk6IFxcZjQyYztcbiRmYS12YXItc3F1YXJlLWdpdGh1YjogXFxmMDkyO1xuJGZhLXZhci1naXRodWItc3F1YXJlOiBcXGYwOTI7XG4kZmEtdmFyLXN0dW1ibGV1cG9uOiBcXGYxYTQ7XG4kZmEtdmFyLWZlZGV4OiBcXGY3OTc7XG4kZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrOiBcXGYzZGM7XG4kZmEtdmFyLXNob3BpZnk6IFxcZTA1NztcbiRmYS12YXItbmVvczogXFxmNjEyO1xuJGZhLXZhci1zcXVhcmUtdGhyZWFkczogXFxlNjE5O1xuJGZhLXZhci1oYWNrZXJyYW5rOiBcXGY1Zjc7XG4kZmEtdmFyLXJlc2VhcmNoZ2F0ZTogXFxmNGY4O1xuJGZhLXZhci1zd2lmdDogXFxmOGUxO1xuJGZhLXZhci1hbmd1bGFyOiBcXGY0MjA7XG4kZmEtdmFyLXNwZWFrYXA6IFxcZjNmMztcbiRmYS12YXItYW5ncnljcmVhdGl2ZTogXFxmMzZlO1xuJGZhLXZhci15LWNvbWJpbmF0b3I6IFxcZjIzYjtcbiRmYS12YXItZW1waXJlOiBcXGYxZDE7XG4kZmEtdmFyLWVudmlyYTogXFxmMjk5O1xuJGZhLXZhci1nb29nbGUtc2Nob2xhcjogXFxlNjNiO1xuJGZhLXZhci1zcXVhcmUtZ2l0bGFiOiBcXGU1YWU7XG4kZmEtdmFyLWdpdGxhYi1zcXVhcmU6IFxcZTVhZTtcbiRmYS12YXItc3R1ZGlvdmluYXJpOiBcXGYzZjg7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItd29yZHByZXNzOiBcXGYxOWE7XG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXFxmMjg4O1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWxpbm9kZTogXFxmMmI4O1xuJGZhLXZhci1nb29kcmVhZHM6IFxcZjNhODtcbiRmYS12YXItc3F1YXJlLW9kbm9rbGFzc25pa2k6IFxcZjI2NDtcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFxcZjI2NDtcbiRmYS12YXItanNmaWRkbGU6IFxcZjFjYztcbiRmYS12YXItc2l0aDogXFxmNTEyO1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItcGFnZTQ6IFxcZjNkNztcbiRmYS12YXItaGFzaG5vZGU6IFxcZTQ5OTtcbiRmYS12YXItcmVhY3Q6IFxcZjQxYjtcbiRmYS12YXItY2MtcGF5cGFsOiBcXGYxZjQ7XG4kZmEtdmFyLXNxdWFyZXNwYWNlOiBcXGY1YmU7XG4kZmEtdmFyLWNjLXN0cmlwZTogXFxmMWY1O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOiBcXGY0ZjI7XG4kZmEtdmFyLWJpdGNvaW46IFxcZjM3OTtcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLW9wZXJhOiBcXGYyNmE7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItdW1icmFjbzogXFxmOGU4O1xuJGZhLXZhci1nYWxhY3RpYy1zZW5hdGU6IFxcZjUwZDtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLWRyYWZ0MmRpZ2l0YWw6IFxcZjM5NjtcbiRmYS12YXItc3RyaXBlOiBcXGY0Mjk7XG4kZmEtdmFyLWhvdXp6OiBcXGYyN2M7XG4kZmEtdmFyLWdnOiBcXGYyNjA7XG4kZmEtdmFyLWRobDogXFxmNzkwO1xuJGZhLXZhci1zcXVhcmUtcGludGVyZXN0OiBcXGYwZDM7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFxcZjBkMztcbiRmYS12YXIteGluZzogXFxmMTY4O1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQ6IFxcZjRlYztcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcXVpbnNjYXBlOiBcXGY0NTk7XG4kZmEtdmFyLWxlc3M6IFxcZjQxZDtcbiRmYS12YXItYmxvZ2dlci1iOiBcXGYzN2Q7XG4kZmEtdmFyLW9wZW5jYXJ0OiBcXGYyM2Q7XG4kZmEtdmFyLXZpbmU6IFxcZjFjYTtcbiRmYS12YXItc2lnbmFsLW1lc3NlbmdlcjogXFxlNjYzO1xuJGZhLXZhci1wYXlwYWw6IFxcZjFlZDtcbiRmYS12YXItZ2l0bGFiOiBcXGYyOTY7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXFxmMjgxO1xuJGZhLXZhci15YWhvbzogXFxmMTllO1xuJGZhLXZhci1kYWlseW1vdGlvbjogXFxlMDUyO1xuJGZhLXZhci1hZmZpbGlhdGV0aGVtZTogXFxmMzZiO1xuJGZhLXZhci1waWVkLXBpcGVyLXBwOiBcXGYxYTc7XG4kZmEtdmFyLWJvb3RzdHJhcDogXFxmODM2O1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcXGYyNjM7XG4kZmEtdmFyLW5mYy1zeW1ib2w6IFxcZTUzMTtcbiRmYS12YXItbWludGJpdDogXFxlNjJmO1xuJGZhLXZhci1ldGhlcmV1bTogXFxmNDJlO1xuJGZhLXZhci1zcGVha2VyLWRlY2s6IFxcZjgzYztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldTogXFxmNGU5O1xuJGZhLXZhci1wYXRyZW9uOiBcXGYzZDk7XG4kZmEtdmFyLWF2aWFuZXg6IFxcZjM3NDtcbiRmYS12YXItZWxsbzogXFxmNWYxO1xuJGZhLXZhci1nb2ZvcmU6IFxcZjNhNztcbiRmYS12YXItYmltb2JqZWN0OiBcXGYzNzg7XG4kZmEtdmFyLWJyYXZlLXJldmVyc2U6IFxcZTYzZDtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1zcXVhcmUtZ29vZ2xlLXBsdXM6IFxcZjBkNDtcbiRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlOiBcXGYwZDQ7XG4kZmEtdmFyLW1hbmRhbG9yaWFuOiBcXGY1MGY7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1vc2k6IFxcZjQxYTtcbiRmYS12YXItZ29vZ2xlLXdhbGxldDogXFxmMWVlO1xuJGZhLXZhci1kLWFuZC1kLWJleW9uZDogXFxmNmNhO1xuJGZhLXZhci1wZXJpc2NvcGU6IFxcZjNkYTtcbiRmYS12YXItZnVsY3J1bTogXFxmNTBiO1xuJGZhLXZhci1jbG91ZHNjYWxlOiBcXGYzODM7XG4kZmEtdmFyLWZvcnVtYmVlOiBcXGYyMTE7XG4kZmEtdmFyLW1penVuaTogXFxmM2NjO1xuJGZhLXZhci1zY2hsaXg6IFxcZjNlYTtcbiRmYS12YXItc3F1YXJlLXhpbmc6IFxcZjE2OTtcbiRmYS12YXIteGluZy1zcXVhcmU6IFxcZjE2OTtcbiRmYS12YXItYmFuZGNhbXA6IFxcZjJkNTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItdXNwczogXFxmN2UxO1xuJGZhLXZhci1tZWdhcG9ydDogXFxmNWEzO1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLXNwb3RpZnk6IFxcZjFiYztcbiRmYS12YXItb3B0aW4tbW9uc3RlcjogXFxmMjNjO1xuJGZhLXZhci1mbHk6IFxcZjQxNztcbiRmYS12YXItYXZpYXRvOiBcXGY0MjE7XG4kZmEtdmFyLWl0dW5lczogXFxmM2I0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWJsb2dnZXI6IFxcZjM3YztcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLXZpYmVyOiBcXGY0MDk7XG4kZmEtdmFyLXNvdW5kY2xvdWQ6IFxcZjFiZTtcbiRmYS12YXItZGlnZzogXFxmMWE2O1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcXGYxZDU7XG4kZmEtdmFyLWxldHRlcmJveGQ6IFxcZTYyZDtcbiRmYS12YXItc3ltZm9ueTogXFxmODNkO1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItZXRzeTogXFxmMmQ3O1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItYXVkaWJsZTogXFxmMzczO1xuJGZhLXZhci10aGluay1wZWFrczogXFxmNzMxO1xuJGZhLXZhci1iaWxpYmlsaTogXFxlM2Q5O1xuJGZhLXZhci1lcmxhbmc6IFxcZjM5ZDtcbiRmYS12YXIteC10d2l0dGVyOiBcXGU2MWI7XG4kZmEtdmFyLWNvdHRvbi1idXJlYXU6IFxcZjg5ZTtcbiRmYS12YXItZGFzaGN1YmU6IFxcZjIxMDtcbiRmYS12YXItNDItZ3JvdXA6IFxcZTA4MDtcbiRmYS12YXItaW5ub3NvZnQ6IFxcZTA4MDtcbiRmYS12YXItc3RhY2stZXhjaGFuZ2U6IFxcZjE4ZDtcbiRmYS12YXItZWxlbWVudG9yOiBcXGY0MzA7XG4kZmEtdmFyLXNxdWFyZS1waWVkLXBpcGVyOiBcXGUwMWU7XG4kZmEtdmFyLXBpZWQtcGlwZXItc3F1YXJlOiBcXGUwMWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQ6IFxcZjRlYjtcbiRmYS12YXItcGFsZmVkOiBcXGYzZDg7XG4kZmEtdmFyLXN1cGVycG93ZXJzOiBcXGYyZGQ7XG4kZmEtdmFyLXJlc29sdmluZzogXFxmM2U3O1xuJGZhLXZhci14Ym94OiBcXGY0MTI7XG4kZmEtdmFyLXNlYXJjaGVuZ2luOiBcXGYzZWI7XG4kZmEtdmFyLXRpa3RvazogXFxlMDdiO1xuJGZhLXZhci1zcXVhcmUtZmFjZWJvb2s6IFxcZjA4MjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLXJlbnJlbjogXFxmMThiO1xuJGZhLXZhci1saW51eDogXFxmMTdjO1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1saW5rZWRpbjogXFxmMDhjO1xuJGZhLXZhci1odWJzcG90OiBcXGYzYjI7XG4kZmEtdmFyLWRlcGxveWRvZzogXFxmMzhlO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItcmF2ZWxyeTogXFxmMmQ5O1xuJGZhLXZhci1taXhlcjogXFxlMDU2O1xuJGZhLXZhci1zcXVhcmUtbGFzdGZtOiBcXGYyMDM7XG4kZmEtdmFyLWxhc3RmbS1zcXVhcmU6IFxcZjIwMztcbiRmYS12YXItdmltZW86IFxcZjQwYTtcbiRmYS12YXItbWVuZGVsZXk6IFxcZjdiMztcbiRmYS12YXItdW5pcmVnaXN0cnk6IFxcZjQwNDtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peDogXFxmNGVlO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWRyb3Bib3g6IFxcZjE2YjtcbiRmYS12YXItaW5zdGFncmFtOiBcXGYxNmQ7XG4kZmEtdmFyLWNtcGxpZDogXFxlMzYwO1xuJGZhLXZhci11cHdvcms6IFxcZTY0MTtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZ3JpcGZpcmU6IFxcZjNhYztcbiRmYS12YXItamVkaS1vcmRlcjogXFxmNTBlO1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWUtYWx0OiBcXGYzYTM7XG4kZmEtdmFyLXBoYWJyaWNhdG9yOiBcXGYzZGI7XG4kZmEtdmFyLXVzc3VubmFoOiBcXGY0MDc7XG4kZmEtdmFyLWVhcmx5YmlyZHM6IFxcZjM5YTtcbiRmYS12YXItdHJhZGUtZmVkZXJhdGlvbjogXFxmNTEzO1xuJGZhLXZhci1hdXRvcHJlZml4ZXI6IFxcZjQxYztcbiRmYS12YXItd2hhdHNhcHA6IFxcZjIzMjtcbiRmYS12YXItc2xpZGVzaGFyZTogXFxmMWU3O1xuJGZhLXZhci1nb29nbGUtcGxheTogXFxmM2FiO1xuJGZhLXZhci12aWFkZW86IFxcZjJhOTtcbiRmYS12YXItbGluZTogXFxmM2MwO1xuJGZhLXZhci1nb29nbGUtZHJpdmU6IFxcZjNhYTtcbiRmYS12YXItc2VydmljZXN0YWNrOiBcXGYzZWM7XG4kZmEtdmFyLXNpbXBseWJ1aWx0OiBcXGYyMTU7XG4kZmEtdmFyLWJpdGJ1Y2tldDogXFxmMTcxO1xuJGZhLXZhci1pbWRiOiBcXGYyZDg7XG4kZmEtdmFyLWRlZXplcjogXFxlMDc3O1xuJGZhLXZhci1yYXNwYmVycnktcGk6IFxcZjdiYjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1kb2NrZXI6IFxcZjM5NTtcbiRmYS12YXItc2NyZWVucGFsOiBcXGU1NzA7XG4kZmEtdmFyLWJsdWV0b290aDogXFxmMjkzO1xuJGZhLXZhci1naXR0ZXI6IFxcZjQyNjtcbiRmYS12YXItZC1hbmQtZDogXFxmMzhkO1xuJGZhLXZhci1taWNyb2Jsb2c6IFxcZTAxYTtcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFxcZjI0YztcbiRmYS12YXItZ2ctY2lyY2xlOiBcXGYyNjE7XG4kZmEtdmFyLXBpZWQtcGlwZXItaGF0OiBcXGY0ZTU7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIteWFuZGV4OiBcXGY0MTM7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1odG1sNTogXFxmMTNiO1xuJGZhLXZhci1zZWxsc3k6IFxcZjIxMztcbiRmYS12YXItc2FzczogXFxmNDFlO1xuJGZhLXZhci13aXJzaW5kaGFuZHdlcms6IFxcZTJkMDtcbiRmYS12YXItd3NoOiBcXGUyZDA7XG4kZmEtdmFyLWJ1cm9tb2JlbGV4cGVydGU6IFxcZjM3ZjtcbiRmYS12YXItc2FsZXNmb3JjZTogXFxmODNiO1xuJGZhLXZhci1vY3RvcHVzLWRlcGxveTogXFxlMDgyO1xuJGZhLXZhci1tZWRhcHBzOiBcXGYzYzY7XG4kZmEtdmFyLW5zODogXFxmM2Q1O1xuJGZhLXZhci1waW50ZXJlc3QtcDogXFxmMjMxO1xuJGZhLXZhci1hcHBlcjogXFxmMzcxO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFxcZjI4NjtcbiRmYS12YXItd2F6ZTogXFxmODNmO1xuJGZhLXZhci1jYy1qY2I6IFxcZjI0YjtcbiRmYS12YXItc25hcGNoYXQ6IFxcZjJhYjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFxcZjJhYjtcbiRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXM6IFxcZjZkYztcbiRmYS12YXItcnVzdDogXFxlMDdhO1xuJGZhLXZhci13aXg6IFxcZjVjZjtcbiRmYS12YXItc3F1YXJlLWJlaGFuY2U6IFxcZjFiNTtcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFxcZjFiNTtcbiRmYS12YXItc3VwcGxlOiBcXGYzZjk7XG4kZmEtdmFyLXdlYmZsb3c6IFxcZTY1YztcbiRmYS12YXItcmViZWw6IFxcZjFkMDtcbiRmYS12YXItY3NzMzogXFxmMTNjO1xuJGZhLXZhci1zdGF5bGlua2VkOiBcXGYzZjU7XG4kZmEtdmFyLWthZ2dsZTogXFxmNWZhO1xuJGZhLXZhci1zcGFjZS1hd2Vzb21lOiBcXGU1YWM7XG4kZmEtdmFyLWRldmlhbnRhcnQ6IFxcZjFiZDtcbiRmYS12YXItY3BhbmVsOiBcXGYzODg7XG4kZmEtdmFyLWdvb2RyZWFkcy1nOiBcXGYzYTk7XG4kZmEtdmFyLXNxdWFyZS1naXQ6IFxcZjFkMjtcbiRmYS12YXItZ2l0LXNxdWFyZTogXFxmMWQyO1xuJGZhLXZhci1zcXVhcmUtdHVtYmxyOiBcXGYxNzQ7XG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFxcZjE3NDtcbiRmYS12YXItdHJlbGxvOiBcXGYxODE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6IFxcZjRlYTtcbiRmYS12YXItZ2V0LXBvY2tldDogXFxmMjY1O1xuJGZhLXZhci1wZXJieXRlOiBcXGUwODM7XG4kZmEtdmFyLWdydW50OiBcXGYzYWQ7XG4kZmEtdmFyLXdlZWJseTogXFxmNWNjO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXFxmMjBlO1xuJGZhLXZhci1sZWFucHViOiBcXGYyMTI7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci10aGVtZWNvOiBcXGY1YzY7XG4kZmEtdmFyLXB5dGhvbjogXFxmM2UyO1xuJGZhLXZhci1hbmRyb2lkOiBcXGYxN2I7XG4kZmEtdmFyLWJvdHM6IFxcZTM0MDtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItaG9ybmJpbGw6IFxcZjU5MjtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItaWRlYWw6IFxcZTAxMztcbiRmYS12YXItZ2l0OiBcXGYxZDM7XG4kZmEtdmFyLWRldjogXFxmNmNjO1xuJGZhLXZhci1za2V0Y2g6IFxcZjdjNjtcbiRmYS12YXIteWFuZGV4LWludGVybmF0aW9uYWw6IFxcZjQxNDtcbiRmYS12YXItY2MtYW1leDogXFxmMWYzO1xuJGZhLXZhci11YmVyOiBcXGY0MDI7XG4kZmEtdmFyLWdpdGh1YjogXFxmMDliO1xuJGZhLXZhci1waHA6IFxcZjQ1NztcbiRmYS12YXItYWxpcGF5OiBcXGY2NDI7XG4kZmEtdmFyLXlvdXR1YmU6IFxcZjE2NztcbiRmYS12YXItc2t5YXRsYXM6IFxcZjIxNjtcbiRmYS12YXItZmlyZWZveC1icm93c2VyOiBcXGUwMDc7XG4kZmEtdmFyLXJlcGx5ZDogXFxmM2U2O1xuJGZhLXZhci1zdXNlOiBcXGY3ZDY7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci1yb2Nrcm1zOiBcXGYzZTk7XG4kZmEtdmFyLXBpbnRlcmVzdDogXFxmMGQyO1xuJGZhLXZhci1idWZmZXI6IFxcZjgzNztcbiRmYS12YXItbnBtOiBcXGYzZDQ7XG4kZmEtdmFyLXlhbW1lcjogXFxmODQwO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcXGYxYTM7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLXN0dWJiZXI6IFxcZTVjNztcbiRmYS12YXItdGVsZWdyYW06IFxcZjJjNjtcbiRmYS12YXItdGVsZWdyYW0tcGxhbmU6IFxcZjJjNjtcbiRmYS12YXItb2xkLXJlcHVibGljOiBcXGY1MTA7XG4kZmEtdmFyLW9keXNlZTogXFxlNWM2O1xuJGZhLXZhci1zcXVhcmUtd2hhdHNhcHA6IFxcZjQwYztcbiRmYS12YXItd2hhdHNhcHAtc3F1YXJlOiBcXGY0MGM7XG4kZmEtdmFyLW5vZGUtanM6IFxcZjNkMztcbiRmYS12YXItZWRnZS1sZWdhY3k6IFxcZTA3ODtcbiRmYS12YXItc2xhY2s6IFxcZjE5ODtcbiRmYS12YXItc2xhY2staGFzaDogXFxmMTk4O1xuJGZhLXZhci1tZWRydDogXFxmM2M4O1xuJGZhLXZhci11c2I6IFxcZjI4NztcbiRmYS12YXItdHVtYmxyOiBcXGYxNzM7XG4kZmEtdmFyLXZhYWRpbjogXFxmNDA4O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1zcXVhcmUteC10d2l0dGVyOiBcXGU2MWE7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLW1lZGl1bTogXFxmMjNhO1xuJGZhLXZhci1tZWRpdW0tbTogXFxmMjNhO1xuJGZhLXZhci1hbWlsaWE6IFxcZjM2ZDtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItZmxpcGJvYXJkOiBcXGY0NGQ7XG4kZmEtdmFyLXZpYWNvaW46IFxcZjIzNztcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1zaXRyb3g6IFxcZTQ0YTtcbiRmYS12YXItZGlzY291cnNlOiBcXGYzOTM7XG4kZmEtdmFyLWpvb21sYTogXFxmMWFhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1haXJibmI6IFxcZjgzNDtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1ndWxwOiBcXGYzYWU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czogXFxmNGYxO1xuJGZhLXZhci1zdHJhdmE6IFxcZjQyODtcbiRmYS12YXItZW1iZXI6IFxcZjQyMztcbiRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZjogXFxmNzg1O1xuJGZhLXZhci10ZWFtc3BlYWs6IFxcZjRmOTtcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXdvcmRwcmVzcy1zaW1wbGU6IFxcZjQxMTtcbiRmYS12YXItbnV0cml0aW9uaXg6IFxcZjNkNjtcbiRmYS12YXItd29kdTogXFxlMDg4O1xuJGZhLXZhci1nb29nbGUtcGF5OiBcXGUwNzk7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLXpoaWh1OiBcXGY2M2Y7XG4kZmEtdmFyLWtvcnZ1ZTogXFxmNDJmO1xuJGZhLXZhci1waXg6IFxcZTQzYTtcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG5cbiRmYS1pY29uczogKFxuICBcIjBcIjogJGZhLXZhci0wLFxuICBcIjFcIjogJGZhLXZhci0xLFxuICBcIjJcIjogJGZhLXZhci0yLFxuICBcIjNcIjogJGZhLXZhci0zLFxuICBcIjRcIjogJGZhLXZhci00LFxuICBcIjVcIjogJGZhLXZhci01LFxuICBcIjZcIjogJGZhLXZhci02LFxuICBcIjdcIjogJGZhLXZhci03LFxuICBcIjhcIjogJGZhLXZhci04LFxuICBcIjlcIjogJGZhLXZhci05LFxuICBcImZpbGwtZHJpcFwiOiAkZmEtdmFyLWZpbGwtZHJpcCxcbiAgXCJhcnJvd3MtdG8tY2lyY2xlXCI6ICRmYS12YXItYXJyb3dzLXRvLWNpcmNsZSxcbiAgXCJjaXJjbGUtY2hldnJvbi1yaWdodFwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXJpZ2h0LFxuICBcImNoZXZyb24tY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQsXG4gIFwiYXRcIjogJGZhLXZhci1hdCxcbiAgXCJ0cmFzaC1jYW5cIjogJGZhLXZhci10cmFzaC1jYW4sXG4gIFwidHJhc2gtYWx0XCI6ICRmYS12YXItdHJhc2gtYWx0LFxuICBcInRleHQtaGVpZ2h0XCI6ICRmYS12YXItdGV4dC1oZWlnaHQsXG4gIFwidXNlci14bWFya1wiOiAkZmEtdmFyLXVzZXIteG1hcmssXG4gIFwidXNlci10aW1lc1wiOiAkZmEtdmFyLXVzZXItdGltZXMsXG4gIFwic3RldGhvc2NvcGVcIjogJGZhLXZhci1zdGV0aG9zY29wZSxcbiAgXCJtZXNzYWdlXCI6ICRmYS12YXItbWVzc2FnZSxcbiAgXCJjb21tZW50LWFsdFwiOiAkZmEtdmFyLWNvbW1lbnQtYWx0LFxuICBcImluZm9cIjogJGZhLXZhci1pbmZvLFxuICBcImRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyXCI6ICRmYS12YXItZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXIsXG4gIFwiY29tcHJlc3MtYWx0XCI6ICRmYS12YXItY29tcHJlc3MtYWx0LFxuICBcImV4cGxvc2lvblwiOiAkZmEtdmFyLWV4cGxvc2lvbixcbiAgXCJmaWxlLWxpbmVzXCI6ICRmYS12YXItZmlsZS1saW5lcyxcbiAgXCJmaWxlLWFsdFwiOiAkZmEtdmFyLWZpbGUtYWx0LFxuICBcImZpbGUtdGV4dFwiOiAkZmEtdmFyLWZpbGUtdGV4dCxcbiAgXCJ3YXZlLXNxdWFyZVwiOiAkZmEtdmFyLXdhdmUtc3F1YXJlLFxuICBcInJpbmdcIjogJGZhLXZhci1yaW5nLFxuICBcImJ1aWxkaW5nLXVuXCI6ICRmYS12YXItYnVpbGRpbmctdW4sXG4gIFwiZGljZS10aHJlZVwiOiAkZmEtdmFyLWRpY2UtdGhyZWUsXG4gIFwiY2FsZW5kYXItZGF5c1wiOiAkZmEtdmFyLWNhbGVuZGFyLWRheXMsXG4gIFwiY2FsZW5kYXItYWx0XCI6ICRmYS12YXItY2FsZW5kYXItYWx0LFxuICBcImFuY2hvci1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1hbmNob3ItY2lyY2xlLWNoZWNrLFxuICBcImJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodCxcbiAgXCJ2b2xsZXliYWxsXCI6ICRmYS12YXItdm9sbGV5YmFsbCxcbiAgXCJ2b2xsZXliYWxsLWJhbGxcIjogJGZhLXZhci12b2xsZXliYWxsLWJhbGwsXG4gIFwiYXJyb3dzLXVwLXRvLWxpbmVcIjogJGZhLXZhci1hcnJvd3MtdXAtdG8tbGluZSxcbiAgXCJzb3J0LWRvd25cIjogJGZhLXZhci1zb3J0LWRvd24sXG4gIFwic29ydC1kZXNjXCI6ICRmYS12YXItc29ydC1kZXNjLFxuICBcImNpcmNsZS1taW51c1wiOiAkZmEtdmFyLWNpcmNsZS1taW51cyxcbiAgXCJtaW51cy1jaXJjbGVcIjogJGZhLXZhci1taW51cy1jaXJjbGUsXG4gIFwiZG9vci1vcGVuXCI6ICRmYS12YXItZG9vci1vcGVuLFxuICBcInJpZ2h0LWZyb20tYnJhY2tldFwiOiAkZmEtdmFyLXJpZ2h0LWZyb20tYnJhY2tldCxcbiAgXCJzaWduLW91dC1hbHRcIjogJGZhLXZhci1zaWduLW91dC1hbHQsXG4gIFwiYXRvbVwiOiAkZmEtdmFyLWF0b20sXG4gIFwic29hcFwiOiAkZmEtdmFyLXNvYXAsXG4gIFwiaWNvbnNcIjogJGZhLXZhci1pY29ucyxcbiAgXCJoZWFydC1tdXNpYy1jYW1lcmEtYm9sdFwiOiAkZmEtdmFyLWhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0LFxuICBcIm1pY3JvcGhvbmUtbGluZXMtc2xhc2hcIjogJGZhLXZhci1taWNyb3Bob25lLWxpbmVzLXNsYXNoLFxuICBcIm1pY3JvcGhvbmUtYWx0LXNsYXNoXCI6ICRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2gsXG4gIFwiYnJpZGdlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWJyaWRnZS1jaXJjbGUtY2hlY2ssXG4gIFwicHVtcC1tZWRpY2FsXCI6ICRmYS12YXItcHVtcC1tZWRpY2FsLFxuICBcImZpbmdlcnByaW50XCI6ICRmYS12YXItZmluZ2VycHJpbnQsXG4gIFwiaGFuZC1wb2ludC1yaWdodFwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvblwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbG9jYXRpb24sXG4gIFwic2VhcmNoLWxvY2F0aW9uXCI6ICRmYS12YXItc2VhcmNoLWxvY2F0aW9uLFxuICBcImZvcndhcmQtc3RlcFwiOiAkZmEtdmFyLWZvcndhcmQtc3RlcCxcbiAgXCJzdGVwLWZvcndhcmRcIjogJGZhLXZhci1zdGVwLWZvcndhcmQsXG4gIFwiZmFjZS1zbWlsZS1iZWFtXCI6ICRmYS12YXItZmFjZS1zbWlsZS1iZWFtLFxuICBcInNtaWxlLWJlYW1cIjogJGZhLXZhci1zbWlsZS1iZWFtLFxuICBcImZsYWctY2hlY2tlcmVkXCI6ICRmYS12YXItZmxhZy1jaGVja2VyZWQsXG4gIFwiZm9vdGJhbGxcIjogJGZhLXZhci1mb290YmFsbCxcbiAgXCJmb290YmFsbC1iYWxsXCI6ICRmYS12YXItZm9vdGJhbGwtYmFsbCxcbiAgXCJzY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItc2Nob29sLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjcm9wXCI6ICRmYS12YXItY3JvcCxcbiAgXCJhbmdsZXMtZG93blwiOiAkZmEtdmFyLWFuZ2xlcy1kb3duLFxuICBcImFuZ2xlLWRvdWJsZS1kb3duXCI6ICRmYS12YXItYW5nbGUtZG91YmxlLWRvd24sXG4gIFwidXNlcnMtcmVjdGFuZ2xlXCI6ICRmYS12YXItdXNlcnMtcmVjdGFuZ2xlLFxuICBcInBlb3BsZS1yb29mXCI6ICRmYS12YXItcGVvcGxlLXJvb2YsXG4gIFwicGVvcGxlLWxpbmVcIjogJGZhLXZhci1wZW9wbGUtbGluZSxcbiAgXCJiZWVyLW11Zy1lbXB0eVwiOiAkZmEtdmFyLWJlZXItbXVnLWVtcHR5LFxuICBcImJlZXJcIjogJGZhLXZhci1iZWVyLFxuICBcImRpYWdyYW0tcHJlZGVjZXNzb3JcIjogJGZhLXZhci1kaWFncmFtLXByZWRlY2Vzc29yLFxuICBcImFycm93LXVwLWxvbmdcIjogJGZhLXZhci1hcnJvdy11cC1sb25nLFxuICBcImxvbmctYXJyb3ctdXBcIjogJGZhLXZhci1sb25nLWFycm93LXVwLFxuICBcImZpcmUtZmxhbWUtc2ltcGxlXCI6ICRmYS12YXItZmlyZS1mbGFtZS1zaW1wbGUsXG4gIFwiYnVyblwiOiAkZmEtdmFyLWJ1cm4sXG4gIFwicGVyc29uXCI6ICRmYS12YXItcGVyc29uLFxuICBcIm1hbGVcIjogJGZhLXZhci1tYWxlLFxuICBcImxhcHRvcFwiOiAkZmEtdmFyLWxhcHRvcCxcbiAgXCJmaWxlLWNzdlwiOiAkZmEtdmFyLWZpbGUtY3N2LFxuICBcIm1lbm9yYWhcIjogJGZhLXZhci1tZW5vcmFoLFxuICBcInRydWNrLXBsYW5lXCI6ICRmYS12YXItdHJ1Y2stcGxhbmUsXG4gIFwicmVjb3JkLXZpbnlsXCI6ICRmYS12YXItcmVjb3JkLXZpbnlsLFxuICBcImZhY2UtZ3Jpbi1zdGFyc1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1zdGFycyxcbiAgXCJncmluLXN0YXJzXCI6ICRmYS12YXItZ3Jpbi1zdGFycyxcbiAgXCJib25nXCI6ICRmYS12YXItYm9uZyxcbiAgXCJzcGFnaGV0dGktbW9uc3Rlci1mbHlpbmdcIjogJGZhLXZhci1zcGFnaGV0dGktbW9uc3Rlci1mbHlpbmcsXG4gIFwicGFzdGFmYXJpYW5pc21cIjogJGZhLXZhci1wYXN0YWZhcmlhbmlzbSxcbiAgXCJhcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lXCI6ICRmYS12YXItYXJyb3ctZG93bi11cC1hY3Jvc3MtbGluZSxcbiAgXCJzcG9vblwiOiAkZmEtdmFyLXNwb29uLFxuICBcInV0ZW5zaWwtc3Bvb25cIjogJGZhLXZhci11dGVuc2lsLXNwb29uLFxuICBcImphci13aGVhdFwiOiAkZmEtdmFyLWphci13aGVhdCxcbiAgXCJlbnZlbG9wZXMtYnVsa1wiOiAkZmEtdmFyLWVudmVsb3Blcy1idWxrLFxuICBcIm1haWwtYnVsa1wiOiAkZmEtdmFyLW1haWwtYnVsayxcbiAgXCJmaWxlLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNpcmNsZS1oXCI6ICRmYS12YXItY2lyY2xlLWgsXG4gIFwiaG9zcGl0YWwtc3ltYm9sXCI6ICRmYS12YXItaG9zcGl0YWwtc3ltYm9sLFxuICBcInBhZ2VyXCI6ICRmYS12YXItcGFnZXIsXG4gIFwiYWRkcmVzcy1ib29rXCI6ICRmYS12YXItYWRkcmVzcy1ib29rLFxuICBcImNvbnRhY3QtYm9va1wiOiAkZmEtdmFyLWNvbnRhY3QtYm9vayxcbiAgXCJzdHJpa2V0aHJvdWdoXCI6ICRmYS12YXItc3RyaWtldGhyb3VnaCxcbiAgXCJrXCI6ICRmYS12YXItayxcbiAgXCJsYW5kbWFyay1mbGFnXCI6ICRmYS12YXItbGFuZG1hcmstZmxhZyxcbiAgXCJwZW5jaWxcIjogJGZhLXZhci1wZW5jaWwsXG4gIFwicGVuY2lsLWFsdFwiOiAkZmEtdmFyLXBlbmNpbC1hbHQsXG4gIFwiYmFja3dhcmRcIjogJGZhLXZhci1iYWNrd2FyZCxcbiAgXCJjYXJldC1yaWdodFwiOiAkZmEtdmFyLWNhcmV0LXJpZ2h0LFxuICBcImNvbW1lbnRzXCI6ICRmYS12YXItY29tbWVudHMsXG4gIFwicGFzdGVcIjogJGZhLXZhci1wYXN0ZSxcbiAgXCJmaWxlLWNsaXBib2FyZFwiOiAkZmEtdmFyLWZpbGUtY2xpcGJvYXJkLFxuICBcImNvZGUtcHVsbC1yZXF1ZXN0XCI6ICRmYS12YXItY29kZS1wdWxsLXJlcXVlc3QsXG4gIFwiY2xpcGJvYXJkLWxpc3RcIjogJGZhLXZhci1jbGlwYm9hcmQtbGlzdCxcbiAgXCJ0cnVjay1yYW1wLWJveFwiOiAkZmEtdmFyLXRydWNrLXJhbXAtYm94LFxuICBcInRydWNrLWxvYWRpbmdcIjogJGZhLXZhci10cnVjay1sb2FkaW5nLFxuICBcInVzZXItY2hlY2tcIjogJGZhLXZhci11c2VyLWNoZWNrLFxuICBcInZpYWwtdmlydXNcIjogJGZhLXZhci12aWFsLXZpcnVzLFxuICBcInNoZWV0LXBsYXN0aWNcIjogJGZhLXZhci1zaGVldC1wbGFzdGljLFxuICBcImJsb2dcIjogJGZhLXZhci1ibG9nLFxuICBcInVzZXItbmluamFcIjogJGZhLXZhci11c2VyLW5pbmphLFxuICBcInBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmVcIjogJGZhLXZhci1wZXJzb24tYXJyb3ctdXAtZnJvbS1saW5lLFxuICBcInNjcm9sbC10b3JhaFwiOiAkZmEtdmFyLXNjcm9sbC10b3JhaCxcbiAgXCJ0b3JhaFwiOiAkZmEtdmFyLXRvcmFoLFxuICBcImJyb29tLWJhbGxcIjogJGZhLXZhci1icm9vbS1iYWxsLFxuICBcInF1aWRkaXRjaFwiOiAkZmEtdmFyLXF1aWRkaXRjaCxcbiAgXCJxdWlkZGl0Y2gtYnJvb20tYmFsbFwiOiAkZmEtdmFyLXF1aWRkaXRjaC1icm9vbS1iYWxsLFxuICBcInRvZ2dsZS1vZmZcIjogJGZhLXZhci10b2dnbGUtb2ZmLFxuICBcImJveC1hcmNoaXZlXCI6ICRmYS12YXItYm94LWFyY2hpdmUsXG4gIFwiYXJjaGl2ZVwiOiAkZmEtdmFyLWFyY2hpdmUsXG4gIFwicGVyc29uLWRyb3duaW5nXCI6ICRmYS12YXItcGVyc29uLWRyb3duaW5nLFxuICBcImFycm93LWRvd24tOS0xXCI6ICRmYS12YXItYXJyb3ctZG93bi05LTEsXG4gIFwic29ydC1udW1lcmljLWRlc2NcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYyxcbiAgXCJzb3J0LW51bWVyaWMtZG93bi1hbHRcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQsXG4gIFwiZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnRcIjogJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXNxdWludCxcbiAgXCJncmluLXRvbmd1ZS1zcXVpbnRcIjogJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQsXG4gIFwic3ByYXktY2FuXCI6ICRmYS12YXItc3ByYXktY2FuLFxuICBcInRydWNrLW1vbnN0ZXJcIjogJGZhLXZhci10cnVjay1tb25zdGVyLFxuICBcIndcIjogJGZhLXZhci13LFxuICBcImVhcnRoLWFmcmljYVwiOiAkZmEtdmFyLWVhcnRoLWFmcmljYSxcbiAgXCJnbG9iZS1hZnJpY2FcIjogJGZhLXZhci1nbG9iZS1hZnJpY2EsXG4gIFwicmFpbmJvd1wiOiAkZmEtdmFyLXJhaW5ib3csXG4gIFwiY2lyY2xlLW5vdGNoXCI6ICRmYS12YXItY2lyY2xlLW5vdGNoLFxuICBcInRhYmxldC1zY3JlZW4tYnV0dG9uXCI6ICRmYS12YXItdGFibGV0LXNjcmVlbi1idXR0b24sXG4gIFwidGFibGV0LWFsdFwiOiAkZmEtdmFyLXRhYmxldC1hbHQsXG4gIFwicGF3XCI6ICRmYS12YXItcGF3LFxuICBcImNsb3VkXCI6ICRmYS12YXItY2xvdWQsXG4gIFwidHJvd2VsLWJyaWNrc1wiOiAkZmEtdmFyLXRyb3dlbC1icmlja3MsXG4gIFwiZmFjZS1mbHVzaGVkXCI6ICRmYS12YXItZmFjZS1mbHVzaGVkLFxuICBcImZsdXNoZWRcIjogJGZhLXZhci1mbHVzaGVkLFxuICBcImhvc3BpdGFsLXVzZXJcIjogJGZhLXZhci1ob3NwaXRhbC11c2VyLFxuICBcInRlbnQtYXJyb3ctbGVmdC1yaWdodFwiOiAkZmEtdmFyLXRlbnQtYXJyb3ctbGVmdC1yaWdodCxcbiAgXCJnYXZlbFwiOiAkZmEtdmFyLWdhdmVsLFxuICBcImxlZ2FsXCI6ICRmYS12YXItbGVnYWwsXG4gIFwiYmlub2N1bGFyc1wiOiAkZmEtdmFyLWJpbm9jdWxhcnMsXG4gIFwibWljcm9waG9uZS1zbGFzaFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2gsXG4gIFwiYm94LXRpc3N1ZVwiOiAkZmEtdmFyLWJveC10aXNzdWUsXG4gIFwibW90b3JjeWNsZVwiOiAkZmEtdmFyLW1vdG9yY3ljbGUsXG4gIFwiYmVsbC1jb25jaWVyZ2VcIjogJGZhLXZhci1iZWxsLWNvbmNpZXJnZSxcbiAgXCJjb25jaWVyZ2UtYmVsbFwiOiAkZmEtdmFyLWNvbmNpZXJnZS1iZWxsLFxuICBcInBlbi1ydWxlclwiOiAkZmEtdmFyLXBlbi1ydWxlcixcbiAgXCJwZW5jaWwtcnVsZXJcIjogJGZhLXZhci1wZW5jaWwtcnVsZXIsXG4gIFwicGVvcGxlLWFycm93c1wiOiAkZmEtdmFyLXBlb3BsZS1hcnJvd3MsXG4gIFwicGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItcGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0LFxuICBcIm1hcnMtYW5kLXZlbnVzLWJ1cnN0XCI6ICRmYS12YXItbWFycy1hbmQtdmVudXMtYnVyc3QsXG4gIFwic3F1YXJlLWNhcmV0LXJpZ2h0XCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LXJpZ2h0LFxuICBcImNhcmV0LXNxdWFyZS1yaWdodFwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodCxcbiAgXCJzY2lzc29yc1wiOiAkZmEtdmFyLXNjaXNzb3JzLFxuICBcImN1dFwiOiAkZmEtdmFyLWN1dCxcbiAgXCJzdW4tcGxhbnQtd2lsdFwiOiAkZmEtdmFyLXN1bi1wbGFudC13aWx0LFxuICBcInRvaWxldHMtcG9ydGFibGVcIjogJGZhLXZhci10b2lsZXRzLXBvcnRhYmxlLFxuICBcImhvY2tleS1wdWNrXCI6ICRmYS12YXItaG9ja2V5LXB1Y2ssXG4gIFwidGFibGVcIjogJGZhLXZhci10YWJsZSxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0XCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodCxcbiAgXCJ0YWNob2dyYXBoLWRpZ2l0YWxcIjogJGZhLXZhci10YWNob2dyYXBoLWRpZ2l0YWwsXG4gIFwiZGlnaXRhbC10YWNob2dyYXBoXCI6ICRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoLFxuICBcInVzZXJzLXNsYXNoXCI6ICRmYS12YXItdXNlcnMtc2xhc2gsXG4gIFwiY2xvdmVyXCI6ICRmYS12YXItY2xvdmVyLFxuICBcInJlcGx5XCI6ICRmYS12YXItcmVwbHksXG4gIFwibWFpbC1yZXBseVwiOiAkZmEtdmFyLW1haWwtcmVwbHksXG4gIFwic3Rhci1hbmQtY3Jlc2NlbnRcIjogJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudCxcbiAgXCJob3VzZS1maXJlXCI6ICRmYS12YXItaG91c2UtZmlyZSxcbiAgXCJzcXVhcmUtbWludXNcIjogJGZhLXZhci1zcXVhcmUtbWludXMsXG4gIFwibWludXMtc3F1YXJlXCI6ICRmYS12YXItbWludXMtc3F1YXJlLFxuICBcImhlbGljb3B0ZXJcIjogJGZhLXZhci1oZWxpY29wdGVyLFxuICBcImNvbXBhc3NcIjogJGZhLXZhci1jb21wYXNzLFxuICBcInNxdWFyZS1jYXJldC1kb3duXCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LWRvd24sXG4gIFwiY2FyZXQtc3F1YXJlLWRvd25cIjogJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bixcbiAgXCJmaWxlLWNpcmNsZS1xdWVzdGlvblwiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLXF1ZXN0aW9uLFxuICBcImxhcHRvcC1jb2RlXCI6ICRmYS12YXItbGFwdG9wLWNvZGUsXG4gIFwic3dhdGNoYm9va1wiOiAkZmEtdmFyLXN3YXRjaGJvb2ssXG4gIFwicHJlc2NyaXB0aW9uLWJvdHRsZVwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUsXG4gIFwiYmFyc1wiOiAkZmEtdmFyLWJhcnMsXG4gIFwibmF2aWNvblwiOiAkZmEtdmFyLW5hdmljb24sXG4gIFwicGVvcGxlLWdyb3VwXCI6ICRmYS12YXItcGVvcGxlLWdyb3VwLFxuICBcImhvdXJnbGFzcy1lbmRcIjogJGZhLXZhci1ob3VyZ2xhc3MtZW5kLFxuICBcImhvdXJnbGFzcy0zXCI6ICRmYS12YXItaG91cmdsYXNzLTMsXG4gIFwiaGVhcnQtY3JhY2tcIjogJGZhLXZhci1oZWFydC1jcmFjayxcbiAgXCJoZWFydC1icm9rZW5cIjogJGZhLXZhci1oZWFydC1icm9rZW4sXG4gIFwic3F1YXJlLXVwLXJpZ2h0XCI6ICRmYS12YXItc3F1YXJlLXVwLXJpZ2h0LFxuICBcImV4dGVybmFsLWxpbmstc3F1YXJlLWFsdFwiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCxcbiAgXCJmYWNlLWtpc3MtYmVhbVwiOiAkZmEtdmFyLWZhY2Uta2lzcy1iZWFtLFxuICBcImtpc3MtYmVhbVwiOiAkZmEtdmFyLWtpc3MtYmVhbSxcbiAgXCJmaWxtXCI6ICRmYS12YXItZmlsbSxcbiAgXCJydWxlci1ob3Jpem9udGFsXCI6ICRmYS12YXItcnVsZXItaG9yaXpvbnRhbCxcbiAgXCJwZW9wbGUtcm9iYmVyeVwiOiAkZmEtdmFyLXBlb3BsZS1yb2JiZXJ5LFxuICBcImxpZ2h0YnVsYlwiOiAkZmEtdmFyLWxpZ2h0YnVsYixcbiAgXCJjYXJldC1sZWZ0XCI6ICRmYS12YXItY2FyZXQtbGVmdCxcbiAgXCJjaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiZXhjbGFtYXRpb24tY2lyY2xlXCI6ICRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlLFxuICBcInNjaG9vbC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1zY2hvb2wtY2lyY2xlLXhtYXJrLFxuICBcImFycm93LXJpZ2h0LWZyb20tYnJhY2tldFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tYnJhY2tldCxcbiAgXCJzaWduLW91dFwiOiAkZmEtdmFyLXNpZ24tb3V0LFxuICBcImNpcmNsZS1jaGV2cm9uLWRvd25cIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi1kb3duLFxuICBcImNoZXZyb24tY2lyY2xlLWRvd25cIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duLFxuICBcInVubG9jay1rZXlob2xlXCI6ICRmYS12YXItdW5sb2NrLWtleWhvbGUsXG4gIFwidW5sb2NrLWFsdFwiOiAkZmEtdmFyLXVubG9jay1hbHQsXG4gIFwiY2xvdWQtc2hvd2Vycy1oZWF2eVwiOiAkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnksXG4gIFwiaGVhZHBob25lcy1zaW1wbGVcIjogJGZhLXZhci1oZWFkcGhvbmVzLXNpbXBsZSxcbiAgXCJoZWFkcGhvbmVzLWFsdFwiOiAkZmEtdmFyLWhlYWRwaG9uZXMtYWx0LFxuICBcInNpdGVtYXBcIjogJGZhLXZhci1zaXRlbWFwLFxuICBcImNpcmNsZS1kb2xsYXItdG8tc2xvdFwiOiAkZmEtdmFyLWNpcmNsZS1kb2xsYXItdG8tc2xvdCxcbiAgXCJkb25hdGVcIjogJGZhLXZhci1kb25hdGUsXG4gIFwibWVtb3J5XCI6ICRmYS12YXItbWVtb3J5LFxuICBcInJvYWQtc3Bpa2VzXCI6ICRmYS12YXItcm9hZC1zcGlrZXMsXG4gIFwiZmlyZS1idXJuZXJcIjogJGZhLXZhci1maXJlLWJ1cm5lcixcbiAgXCJmbGFnXCI6ICRmYS12YXItZmxhZyxcbiAgXCJoYW51a2lhaFwiOiAkZmEtdmFyLWhhbnVraWFoLFxuICBcImZlYXRoZXJcIjogJGZhLXZhci1mZWF0aGVyLFxuICBcInZvbHVtZS1sb3dcIjogJGZhLXZhci12b2x1bWUtbG93LFxuICBcInZvbHVtZS1kb3duXCI6ICRmYS12YXItdm9sdW1lLWRvd24sXG4gIFwiY29tbWVudC1zbGFzaFwiOiAkZmEtdmFyLWNvbW1lbnQtc2xhc2gsXG4gIFwiY2xvdWQtc3VuLXJhaW5cIjogJGZhLXZhci1jbG91ZC1zdW4tcmFpbixcbiAgXCJjb21wcmVzc1wiOiAkZmEtdmFyLWNvbXByZXNzLFxuICBcIndoZWF0LWF3blwiOiAkZmEtdmFyLXdoZWF0LWF3bixcbiAgXCJ3aGVhdC1hbHRcIjogJGZhLXZhci13aGVhdC1hbHQsXG4gIFwiYW5raFwiOiAkZmEtdmFyLWFua2gsXG4gIFwiaGFuZHMtaG9sZGluZy1jaGlsZFwiOiAkZmEtdmFyLWhhbmRzLWhvbGRpbmctY2hpbGQsXG4gIFwiYXN0ZXJpc2tcIjogJGZhLXZhci1hc3RlcmlzayxcbiAgXCJzcXVhcmUtY2hlY2tcIjogJGZhLXZhci1zcXVhcmUtY2hlY2ssXG4gIFwiY2hlY2stc3F1YXJlXCI6ICRmYS12YXItY2hlY2stc3F1YXJlLFxuICBcInBlc2V0YS1zaWduXCI6ICRmYS12YXItcGVzZXRhLXNpZ24sXG4gIFwiaGVhZGluZ1wiOiAkZmEtdmFyLWhlYWRpbmcsXG4gIFwiaGVhZGVyXCI6ICRmYS12YXItaGVhZGVyLFxuICBcImdob3N0XCI6ICRmYS12YXItZ2hvc3QsXG4gIFwibGlzdFwiOiAkZmEtdmFyLWxpc3QsXG4gIFwibGlzdC1zcXVhcmVzXCI6ICRmYS12YXItbGlzdC1zcXVhcmVzLFxuICBcInNxdWFyZS1waG9uZS1mbGlwXCI6ICRmYS12YXItc3F1YXJlLXBob25lLWZsaXAsXG4gIFwicGhvbmUtc3F1YXJlLWFsdFwiOiAkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQsXG4gIFwiY2FydC1wbHVzXCI6ICRmYS12YXItY2FydC1wbHVzLFxuICBcImdhbWVwYWRcIjogJGZhLXZhci1nYW1lcGFkLFxuICBcImNpcmNsZS1kb3RcIjogJGZhLXZhci1jaXJjbGUtZG90LFxuICBcImRvdC1jaXJjbGVcIjogJGZhLXZhci1kb3QtY2lyY2xlLFxuICBcImZhY2UtZGl6enlcIjogJGZhLXZhci1mYWNlLWRpenp5LFxuICBcImRpenp5XCI6ICRmYS12YXItZGl6enksXG4gIFwiZWdnXCI6ICRmYS12YXItZWdnLFxuICBcImhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmssXG4gIFwiY2FtcGdyb3VuZFwiOiAkZmEtdmFyLWNhbXBncm91bmQsXG4gIFwiZm9sZGVyLXBsdXNcIjogJGZhLXZhci1mb2xkZXItcGx1cyxcbiAgXCJmdXRib2xcIjogJGZhLXZhci1mdXRib2wsXG4gIFwiZnV0Ym9sLWJhbGxcIjogJGZhLXZhci1mdXRib2wtYmFsbCxcbiAgXCJzb2NjZXItYmFsbFwiOiAkZmEtdmFyLXNvY2Nlci1iYWxsLFxuICBcInBhaW50YnJ1c2hcIjogJGZhLXZhci1wYWludGJydXNoLFxuICBcInBhaW50LWJydXNoXCI6ICRmYS12YXItcGFpbnQtYnJ1c2gsXG4gIFwibG9ja1wiOiAkZmEtdmFyLWxvY2ssXG4gIFwiZ2FzLXB1bXBcIjogJGZhLXZhci1nYXMtcHVtcCxcbiAgXCJob3QtdHViLXBlcnNvblwiOiAkZmEtdmFyLWhvdC10dWItcGVyc29uLFxuICBcImhvdC10dWJcIjogJGZhLXZhci1ob3QtdHViLFxuICBcIm1hcC1sb2NhdGlvblwiOiAkZmEtdmFyLW1hcC1sb2NhdGlvbixcbiAgXCJtYXAtbWFya2VkXCI6ICRmYS12YXItbWFwLW1hcmtlZCxcbiAgXCJob3VzZS1mbG9vZC13YXRlclwiOiAkZmEtdmFyLWhvdXNlLWZsb29kLXdhdGVyLFxuICBcInRyZWVcIjogJGZhLXZhci10cmVlLFxuICBcImJyaWRnZS1sb2NrXCI6ICRmYS12YXItYnJpZGdlLWxvY2ssXG4gIFwic2Fjay1kb2xsYXJcIjogJGZhLXZhci1zYWNrLWRvbGxhcixcbiAgXCJwZW4tdG8tc3F1YXJlXCI6ICRmYS12YXItcGVuLXRvLXNxdWFyZSxcbiAgXCJlZGl0XCI6ICRmYS12YXItZWRpdCxcbiAgXCJjYXItc2lkZVwiOiAkZmEtdmFyLWNhci1zaWRlLFxuICBcInNoYXJlLW5vZGVzXCI6ICRmYS12YXItc2hhcmUtbm9kZXMsXG4gIFwic2hhcmUtYWx0XCI6ICRmYS12YXItc2hhcmUtYWx0LFxuICBcImhlYXJ0LWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1taW51cyxcbiAgXCJob3VyZ2xhc3MtaGFsZlwiOiAkZmEtdmFyLWhvdXJnbGFzcy1oYWxmLFxuICBcImhvdXJnbGFzcy0yXCI6ICRmYS12YXItaG91cmdsYXNzLTIsXG4gIFwibWljcm9zY29wZVwiOiAkZmEtdmFyLW1pY3Jvc2NvcGUsXG4gIFwic2lua1wiOiAkZmEtdmFyLXNpbmssXG4gIFwiYmFnLXNob3BwaW5nXCI6ICRmYS12YXItYmFnLXNob3BwaW5nLFxuICBcInNob3BwaW5nLWJhZ1wiOiAkZmEtdmFyLXNob3BwaW5nLWJhZyxcbiAgXCJhcnJvdy1kb3duLXotYVwiOiAkZmEtdmFyLWFycm93LWRvd24tei1hLFxuICBcInNvcnQtYWxwaGEtZGVzY1wiOiAkZmEtdmFyLXNvcnQtYWxwaGEtZGVzYyxcbiAgXCJzb3J0LWFscGhhLWRvd24tYWx0XCI6ICRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdCxcbiAgXCJtaXR0ZW5cIjogJGZhLXZhci1taXR0ZW4sXG4gIFwicGVyc29uLXJheXNcIjogJGZhLXZhci1wZXJzb24tcmF5cyxcbiAgXCJ1c2Vyc1wiOiAkZmEtdmFyLXVzZXJzLFxuICBcImV5ZS1zbGFzaFwiOiAkZmEtdmFyLWV5ZS1zbGFzaCxcbiAgXCJmbGFzay12aWFsXCI6ICRmYS12YXItZmxhc2stdmlhbCxcbiAgXCJoYW5kXCI6ICRmYS12YXItaGFuZCxcbiAgXCJoYW5kLXBhcGVyXCI6ICRmYS12YXItaGFuZC1wYXBlcixcbiAgXCJvbVwiOiAkZmEtdmFyLW9tLFxuICBcIndvcm1cIjogJGZhLXZhci13b3JtLFxuICBcImhvdXNlLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWhvdXNlLWNpcmNsZS14bWFyayxcbiAgXCJwbHVnXCI6ICRmYS12YXItcGx1ZyxcbiAgXCJjaGV2cm9uLXVwXCI6ICRmYS12YXItY2hldnJvbi11cCxcbiAgXCJoYW5kLXNwb2NrXCI6ICRmYS12YXItaGFuZC1zcG9jayxcbiAgXCJzdG9wd2F0Y2hcIjogJGZhLXZhci1zdG9wd2F0Y2gsXG4gIFwiZmFjZS1raXNzXCI6ICRmYS12YXItZmFjZS1raXNzLFxuICBcImtpc3NcIjogJGZhLXZhci1raXNzLFxuICBcImJyaWRnZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1icmlkZ2UtY2lyY2xlLXhtYXJrLFxuICBcImZhY2UtZ3Jpbi10b25ndWVcIjogJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLFxuICBcImdyaW4tdG9uZ3VlXCI6ICRmYS12YXItZ3Jpbi10b25ndWUsXG4gIFwiY2hlc3MtYmlzaG9wXCI6ICRmYS12YXItY2hlc3MtYmlzaG9wLFxuICBcImZhY2UtZ3Jpbi13aW5rXCI6ICRmYS12YXItZmFjZS1ncmluLXdpbmssXG4gIFwiZ3Jpbi13aW5rXCI6ICRmYS12YXItZ3Jpbi13aW5rLFxuICBcImVhci1kZWFmXCI6ICRmYS12YXItZWFyLWRlYWYsXG4gIFwiZGVhZlwiOiAkZmEtdmFyLWRlYWYsXG4gIFwiZGVhZm5lc3NcIjogJGZhLXZhci1kZWFmbmVzcyxcbiAgXCJoYXJkLW9mLWhlYXJpbmdcIjogJGZhLXZhci1oYXJkLW9mLWhlYXJpbmcsXG4gIFwicm9hZC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1yb2FkLWNpcmNsZS1jaGVjayxcbiAgXCJkaWNlLWZpdmVcIjogJGZhLXZhci1kaWNlLWZpdmUsXG4gIFwic3F1YXJlLXJzc1wiOiAkZmEtdmFyLXNxdWFyZS1yc3MsXG4gIFwicnNzLXNxdWFyZVwiOiAkZmEtdmFyLXJzcy1zcXVhcmUsXG4gIFwibGFuZC1taW5lLW9uXCI6ICRmYS12YXItbGFuZC1taW5lLW9uLFxuICBcImktY3Vyc29yXCI6ICRmYS12YXItaS1jdXJzb3IsXG4gIFwic3RhbXBcIjogJGZhLXZhci1zdGFtcCxcbiAgXCJzdGFpcnNcIjogJGZhLXZhci1zdGFpcnMsXG4gIFwiaVwiOiAkZmEtdmFyLWksXG4gIFwiaHJ5dm5pYS1zaWduXCI6ICRmYS12YXItaHJ5dm5pYS1zaWduLFxuICBcImhyeXZuaWFcIjogJGZhLXZhci1ocnl2bmlhLFxuICBcInBpbGxzXCI6ICRmYS12YXItcGlsbHMsXG4gIFwiZmFjZS1ncmluLXdpZGVcIjogJGZhLXZhci1mYWNlLWdyaW4td2lkZSxcbiAgXCJncmluLWFsdFwiOiAkZmEtdmFyLWdyaW4tYWx0LFxuICBcInRvb3RoXCI6ICRmYS12YXItdG9vdGgsXG4gIFwidlwiOiAkZmEtdmFyLXYsXG4gIFwiYmFuZ2xhZGVzaGktdGFrYS1zaWduXCI6ICRmYS12YXItYmFuZ2xhZGVzaGktdGFrYS1zaWduLFxuICBcImJpY3ljbGVcIjogJGZhLXZhci1iaWN5Y2xlLFxuICBcInN0YWZmLXNuYWtlXCI6ICRmYS12YXItc3RhZmYtc25ha2UsXG4gIFwicm9kLWFzY2xlcGl1c1wiOiAkZmEtdmFyLXJvZC1hc2NsZXBpdXMsXG4gIFwicm9kLXNuYWtlXCI6ICRmYS12YXItcm9kLXNuYWtlLFxuICBcInN0YWZmLWFlc2N1bGFwaXVzXCI6ICRmYS12YXItc3RhZmYtYWVzY3VsYXBpdXMsXG4gIFwiaGVhZC1zaWRlLWNvdWdoLXNsYXNoXCI6ICRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoLFxuICBcInRydWNrLW1lZGljYWxcIjogJGZhLXZhci10cnVjay1tZWRpY2FsLFxuICBcImFtYnVsYW5jZVwiOiAkZmEtdmFyLWFtYnVsYW5jZSxcbiAgXCJ3aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItd2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJzbm93bWFuXCI6ICRmYS12YXItc25vd21hbixcbiAgXCJtb3J0YXItcGVzdGxlXCI6ICRmYS12YXItbW9ydGFyLXBlc3RsZSxcbiAgXCJyb2FkLWJhcnJpZXJcIjogJGZhLXZhci1yb2FkLWJhcnJpZXIsXG4gIFwic2Nob29sXCI6ICRmYS12YXItc2Nob29sLFxuICBcImlnbG9vXCI6ICRmYS12YXItaWdsb28sXG4gIFwiam9pbnRcIjogJGZhLXZhci1qb2ludCxcbiAgXCJhbmdsZS1yaWdodFwiOiAkZmEtdmFyLWFuZ2xlLXJpZ2h0LFxuICBcImhvcnNlXCI6ICRmYS12YXItaG9yc2UsXG4gIFwicVwiOiAkZmEtdmFyLXEsXG4gIFwiZ1wiOiAkZmEtdmFyLWcsXG4gIFwibm90ZXMtbWVkaWNhbFwiOiAkZmEtdmFyLW5vdGVzLW1lZGljYWwsXG4gIFwidGVtcGVyYXR1cmUtaGFsZlwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWhhbGYsXG4gIFwidGVtcGVyYXR1cmUtMlwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTIsXG4gIFwidGhlcm1vbWV0ZXItMlwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTIsXG4gIFwidGhlcm1vbWV0ZXItaGFsZlwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGYsXG4gIFwiZG9uZy1zaWduXCI6ICRmYS12YXItZG9uZy1zaWduLFxuICBcImNhcHN1bGVzXCI6ICRmYS12YXItY2Fwc3VsZXMsXG4gIFwicG9vLXN0b3JtXCI6ICRmYS12YXItcG9vLXN0b3JtLFxuICBcInBvby1ib2x0XCI6ICRmYS12YXItcG9vLWJvbHQsXG4gIFwiZmFjZS1mcm93bi1vcGVuXCI6ICRmYS12YXItZmFjZS1mcm93bi1vcGVuLFxuICBcImZyb3duLW9wZW5cIjogJGZhLXZhci1mcm93bi1vcGVuLFxuICBcImhhbmQtcG9pbnQtdXBcIjogJGZhLXZhci1oYW5kLXBvaW50LXVwLFxuICBcIm1vbmV5LWJpbGxcIjogJGZhLXZhci1tb25leS1iaWxsLFxuICBcImJvb2ttYXJrXCI6ICRmYS12YXItYm9va21hcmssXG4gIFwiYWxpZ24tanVzdGlmeVwiOiAkZmEtdmFyLWFsaWduLWp1c3RpZnksXG4gIFwidW1icmVsbGEtYmVhY2hcIjogJGZhLXZhci11bWJyZWxsYS1iZWFjaCxcbiAgXCJoZWxtZXQtdW5cIjogJGZhLXZhci1oZWxtZXQtdW4sXG4gIFwiYnVsbHNleWVcIjogJGZhLXZhci1idWxsc2V5ZSxcbiAgXCJiYWNvblwiOiAkZmEtdmFyLWJhY29uLFxuICBcImhhbmQtcG9pbnQtZG93blwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtZG93bixcbiAgXCJhcnJvdy11cC1mcm9tLWJyYWNrZXRcIjogJGZhLXZhci1hcnJvdy11cC1mcm9tLWJyYWNrZXQsXG4gIFwiZm9sZGVyXCI6ICRmYS12YXItZm9sZGVyLFxuICBcImZvbGRlci1ibGFua1wiOiAkZmEtdmFyLWZvbGRlci1ibGFuayxcbiAgXCJmaWxlLXdhdmVmb3JtXCI6ICRmYS12YXItZmlsZS13YXZlZm9ybSxcbiAgXCJmaWxlLW1lZGljYWwtYWx0XCI6ICRmYS12YXItZmlsZS1tZWRpY2FsLWFsdCxcbiAgXCJyYWRpYXRpb25cIjogJGZhLXZhci1yYWRpYXRpb24sXG4gIFwiY2hhcnQtc2ltcGxlXCI6ICRmYS12YXItY2hhcnQtc2ltcGxlLFxuICBcIm1hcnMtc3Ryb2tlXCI6ICRmYS12YXItbWFycy1zdHJva2UsXG4gIFwidmlhbFwiOiAkZmEtdmFyLXZpYWwsXG4gIFwiZ2F1Z2VcIjogJGZhLXZhci1nYXVnZSxcbiAgXCJkYXNoYm9hcmRcIjogJGZhLXZhci1kYXNoYm9hcmQsXG4gIFwiZ2F1Z2UtbWVkXCI6ICRmYS12YXItZ2F1Z2UtbWVkLFxuICBcInRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2VcIjogJGZhLXZhci10YWNob21ldGVyLWFsdC1hdmVyYWdlLFxuICBcIndhbmQtbWFnaWMtc3BhcmtsZXNcIjogJGZhLXZhci13YW5kLW1hZ2ljLXNwYXJrbGVzLFxuICBcIm1hZ2ljLXdhbmQtc3BhcmtsZXNcIjogJGZhLXZhci1tYWdpYy13YW5kLXNwYXJrbGVzLFxuICBcImVcIjogJGZhLXZhci1lLFxuICBcInBlbi1jbGlwXCI6ICRmYS12YXItcGVuLWNsaXAsXG4gIFwicGVuLWFsdFwiOiAkZmEtdmFyLXBlbi1hbHQsXG4gIFwiYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwidXNlclwiOiAkZmEtdmFyLXVzZXIsXG4gIFwic2Nob29sLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXNjaG9vbC1jaXJjbGUtY2hlY2ssXG4gIFwiZHVtcHN0ZXJcIjogJGZhLXZhci1kdW1wc3RlcixcbiAgXCJ2YW4tc2h1dHRsZVwiOiAkZmEtdmFyLXZhbi1zaHV0dGxlLFxuICBcInNodXR0bGUtdmFuXCI6ICRmYS12YXItc2h1dHRsZS12YW4sXG4gIFwiYnVpbGRpbmctdXNlclwiOiAkZmEtdmFyLWJ1aWxkaW5nLXVzZXIsXG4gIFwic3F1YXJlLWNhcmV0LWxlZnRcIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtbGVmdCxcbiAgXCJjYXJldC1zcXVhcmUtbGVmdFwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0LFxuICBcImhpZ2hsaWdodGVyXCI6ICRmYS12YXItaGlnaGxpZ2h0ZXIsXG4gIFwia2V5XCI6ICRmYS12YXIta2V5LFxuICBcImJ1bGxob3JuXCI6ICRmYS12YXItYnVsbGhvcm4sXG4gIFwiZ2xvYmVcIjogJGZhLXZhci1nbG9iZSxcbiAgXCJzeW5hZ29ndWVcIjogJGZhLXZhci1zeW5hZ29ndWUsXG4gIFwicGVyc29uLWhhbGYtZHJlc3NcIjogJGZhLXZhci1wZXJzb24taGFsZi1kcmVzcyxcbiAgXCJyb2FkLWJyaWRnZVwiOiAkZmEtdmFyLXJvYWQtYnJpZGdlLFxuICBcImxvY2F0aW9uLWFycm93XCI6ICRmYS12YXItbG9jYXRpb24tYXJyb3csXG4gIFwiY1wiOiAkZmEtdmFyLWMsXG4gIFwidGFibGV0LWJ1dHRvblwiOiAkZmEtdmFyLXRhYmxldC1idXR0b24sXG4gIFwiYnVpbGRpbmctbG9ja1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWxvY2ssXG4gIFwicGl6emEtc2xpY2VcIjogJGZhLXZhci1waXp6YS1zbGljZSxcbiAgXCJtb25leS1iaWxsLXdhdmVcIjogJGZhLXZhci1tb25leS1iaWxsLXdhdmUsXG4gIFwiY2hhcnQtYXJlYVwiOiAkZmEtdmFyLWNoYXJ0LWFyZWEsXG4gIFwiYXJlYS1jaGFydFwiOiAkZmEtdmFyLWFyZWEtY2hhcnQsXG4gIFwiaG91c2UtZmxhZ1wiOiAkZmEtdmFyLWhvdXNlLWZsYWcsXG4gIFwicGVyc29uLWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtbWludXMsXG4gIFwiYmFuXCI6ICRmYS12YXItYmFuLFxuICBcImNhbmNlbFwiOiAkZmEtdmFyLWNhbmNlbCxcbiAgXCJjYW1lcmEtcm90YXRlXCI6ICRmYS12YXItY2FtZXJhLXJvdGF0ZSxcbiAgXCJzcHJheS1jYW4tc3BhcmtsZXNcIjogJGZhLXZhci1zcHJheS1jYW4tc3BhcmtsZXMsXG4gIFwiYWlyLWZyZXNoZW5lclwiOiAkZmEtdmFyLWFpci1mcmVzaGVuZXIsXG4gIFwic3RhclwiOiAkZmEtdmFyLXN0YXIsXG4gIFwicmVwZWF0XCI6ICRmYS12YXItcmVwZWF0LFxuICBcImNyb3NzXCI6ICRmYS12YXItY3Jvc3MsXG4gIFwiYm94XCI6ICRmYS12YXItYm94LFxuICBcInZlbnVzLW1hcnNcIjogJGZhLXZhci12ZW51cy1tYXJzLFxuICBcImFycm93LXBvaW50ZXJcIjogJGZhLXZhci1hcnJvdy1wb2ludGVyLFxuICBcIm1vdXNlLXBvaW50ZXJcIjogJGZhLXZhci1tb3VzZS1wb2ludGVyLFxuICBcIm1heGltaXplXCI6ICRmYS12YXItbWF4aW1pemUsXG4gIFwiZXhwYW5kLWFycm93cy1hbHRcIjogJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdCxcbiAgXCJjaGFyZ2luZy1zdGF0aW9uXCI6ICRmYS12YXItY2hhcmdpbmctc3RhdGlvbixcbiAgXCJzaGFwZXNcIjogJGZhLXZhci1zaGFwZXMsXG4gIFwidHJpYW5nbGUtY2lyY2xlLXNxdWFyZVwiOiAkZmEtdmFyLXRyaWFuZ2xlLWNpcmNsZS1zcXVhcmUsXG4gIFwic2h1ZmZsZVwiOiAkZmEtdmFyLXNodWZmbGUsXG4gIFwicmFuZG9tXCI6ICRmYS12YXItcmFuZG9tLFxuICBcInBlcnNvbi1ydW5uaW5nXCI6ICRmYS12YXItcGVyc29uLXJ1bm5pbmcsXG4gIFwicnVubmluZ1wiOiAkZmEtdmFyLXJ1bm5pbmcsXG4gIFwibW9iaWxlLXJldHJvXCI6ICRmYS12YXItbW9iaWxlLXJldHJvLFxuICBcImdyaXAtbGluZXMtdmVydGljYWxcIjogJGZhLXZhci1ncmlwLWxpbmVzLXZlcnRpY2FsLFxuICBcInNwaWRlclwiOiAkZmEtdmFyLXNwaWRlcixcbiAgXCJoYW5kcy1ib3VuZFwiOiAkZmEtdmFyLWhhbmRzLWJvdW5kLFxuICBcImZpbGUtaW52b2ljZS1kb2xsYXJcIjogJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyLFxuICBcInBsYW5lLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXBsYW5lLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJ4LXJheVwiOiAkZmEtdmFyLXgtcmF5LFxuICBcInNwZWxsLWNoZWNrXCI6ICRmYS12YXItc3BlbGwtY2hlY2ssXG4gIFwic2xhc2hcIjogJGZhLXZhci1zbGFzaCxcbiAgXCJjb21wdXRlci1tb3VzZVwiOiAkZmEtdmFyLWNvbXB1dGVyLW1vdXNlLFxuICBcIm1vdXNlXCI6ICRmYS12YXItbW91c2UsXG4gIFwiYXJyb3ctcmlnaHQtdG8tYnJhY2tldFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXRvLWJyYWNrZXQsXG4gIFwic2lnbi1pblwiOiAkZmEtdmFyLXNpZ24taW4sXG4gIFwic2hvcC1zbGFzaFwiOiAkZmEtdmFyLXNob3Atc2xhc2gsXG4gIFwic3RvcmUtYWx0LXNsYXNoXCI6ICRmYS12YXItc3RvcmUtYWx0LXNsYXNoLFxuICBcInNlcnZlclwiOiAkZmEtdmFyLXNlcnZlcixcbiAgXCJ2aXJ1cy1jb3ZpZC1zbGFzaFwiOiAkZmEtdmFyLXZpcnVzLWNvdmlkLXNsYXNoLFxuICBcInNob3AtbG9ja1wiOiAkZmEtdmFyLXNob3AtbG9jayxcbiAgXCJob3VyZ2xhc3Mtc3RhcnRcIjogJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQsXG4gIFwiaG91cmdsYXNzLTFcIjogJGZhLXZhci1ob3VyZ2xhc3MtMSxcbiAgXCJibGVuZGVyLXBob25lXCI6ICRmYS12YXItYmxlbmRlci1waG9uZSxcbiAgXCJidWlsZGluZy13aGVhdFwiOiAkZmEtdmFyLWJ1aWxkaW5nLXdoZWF0LFxuICBcInBlcnNvbi1icmVhc3RmZWVkaW5nXCI6ICRmYS12YXItcGVyc29uLWJyZWFzdGZlZWRpbmcsXG4gIFwicmlnaHQtdG8tYnJhY2tldFwiOiAkZmEtdmFyLXJpZ2h0LXRvLWJyYWNrZXQsXG4gIFwic2lnbi1pbi1hbHRcIjogJGZhLXZhci1zaWduLWluLWFsdCxcbiAgXCJ2ZW51c1wiOiAkZmEtdmFyLXZlbnVzLFxuICBcInBhc3Nwb3J0XCI6ICRmYS12YXItcGFzc3BvcnQsXG4gIFwiaGVhcnQtcHVsc2VcIjogJGZhLXZhci1oZWFydC1wdWxzZSxcbiAgXCJoZWFydGJlYXRcIjogJGZhLXZhci1oZWFydGJlYXQsXG4gIFwicGVvcGxlLWNhcnJ5LWJveFwiOiAkZmEtdmFyLXBlb3BsZS1jYXJyeS1ib3gsXG4gIFwicGVvcGxlLWNhcnJ5XCI6ICRmYS12YXItcGVvcGxlLWNhcnJ5LFxuICBcInRlbXBlcmF0dXJlLWhpZ2hcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoLFxuICBcIm1pY3JvY2hpcFwiOiAkZmEtdmFyLW1pY3JvY2hpcCxcbiAgXCJjcm93blwiOiAkZmEtdmFyLWNyb3duLFxuICBcIndlaWdodC1oYW5naW5nXCI6ICRmYS12YXItd2VpZ2h0LWhhbmdpbmcsXG4gIFwieG1hcmtzLWxpbmVzXCI6ICRmYS12YXIteG1hcmtzLWxpbmVzLFxuICBcImZpbGUtcHJlc2NyaXB0aW9uXCI6ICRmYS12YXItZmlsZS1wcmVzY3JpcHRpb24sXG4gIFwid2VpZ2h0LXNjYWxlXCI6ICRmYS12YXItd2VpZ2h0LXNjYWxlLFxuICBcIndlaWdodFwiOiAkZmEtdmFyLXdlaWdodCxcbiAgXCJ1c2VyLWdyb3VwXCI6ICRmYS12YXItdXNlci1ncm91cCxcbiAgXCJ1c2VyLWZyaWVuZHNcIjogJGZhLXZhci11c2VyLWZyaWVuZHMsXG4gIFwiYXJyb3ctdXAtYS16XCI6ICRmYS12YXItYXJyb3ctdXAtYS16LFxuICBcInNvcnQtYWxwaGEtdXBcIjogJGZhLXZhci1zb3J0LWFscGhhLXVwLFxuICBcImNoZXNzLWtuaWdodFwiOiAkZmEtdmFyLWNoZXNzLWtuaWdodCxcbiAgXCJmYWNlLWxhdWdoLXNxdWludFwiOiAkZmEtdmFyLWZhY2UtbGF1Z2gtc3F1aW50LFxuICBcImxhdWdoLXNxdWludFwiOiAkZmEtdmFyLWxhdWdoLXNxdWludCxcbiAgXCJ3aGVlbGNoYWlyXCI6ICRmYS12YXItd2hlZWxjaGFpcixcbiAgXCJjaXJjbGUtYXJyb3ctdXBcIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctdXAsXG4gIFwiYXJyb3ctY2lyY2xlLXVwXCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLXVwLFxuICBcInRvZ2dsZS1vblwiOiAkZmEtdmFyLXRvZ2dsZS1vbixcbiAgXCJwZXJzb24td2Fsa2luZ1wiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLFxuICBcIndhbGtpbmdcIjogJGZhLXZhci13YWxraW5nLFxuICBcImxcIjogJGZhLXZhci1sLFxuICBcImZpcmVcIjogJGZhLXZhci1maXJlLFxuICBcImJlZC1wdWxzZVwiOiAkZmEtdmFyLWJlZC1wdWxzZSxcbiAgXCJwcm9jZWR1cmVzXCI6ICRmYS12YXItcHJvY2VkdXJlcyxcbiAgXCJzaHV0dGxlLXNwYWNlXCI6ICRmYS12YXItc2h1dHRsZS1zcGFjZSxcbiAgXCJzcGFjZS1zaHV0dGxlXCI6ICRmYS12YXItc3BhY2Utc2h1dHRsZSxcbiAgXCJmYWNlLWxhdWdoXCI6ICRmYS12YXItZmFjZS1sYXVnaCxcbiAgXCJsYXVnaFwiOiAkZmEtdmFyLWxhdWdoLFxuICBcImZvbGRlci1vcGVuXCI6ICRmYS12YXItZm9sZGVyLW9wZW4sXG4gIFwiaGVhcnQtY2lyY2xlLXBsdXNcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtcGx1cyxcbiAgXCJjb2RlLWZvcmtcIjogJGZhLXZhci1jb2RlLWZvcmssXG4gIFwiY2l0eVwiOiAkZmEtdmFyLWNpdHksXG4gIFwibWljcm9waG9uZS1saW5lc1wiOiAkZmEtdmFyLW1pY3JvcGhvbmUtbGluZXMsXG4gIFwibWljcm9waG9uZS1hbHRcIjogJGZhLXZhci1taWNyb3Bob25lLWFsdCxcbiAgXCJwZXBwZXItaG90XCI6ICRmYS12YXItcGVwcGVyLWhvdCxcbiAgXCJ1bmxvY2tcIjogJGZhLXZhci11bmxvY2ssXG4gIFwiY29sb24tc2lnblwiOiAkZmEtdmFyLWNvbG9uLXNpZ24sXG4gIFwiaGVhZHNldFwiOiAkZmEtdmFyLWhlYWRzZXQsXG4gIFwic3RvcmUtc2xhc2hcIjogJGZhLXZhci1zdG9yZS1zbGFzaCxcbiAgXCJyb2FkLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXJvYWQtY2lyY2xlLXhtYXJrLFxuICBcInVzZXItbWludXNcIjogJGZhLXZhci11c2VyLW1pbnVzLFxuICBcIm1hcnMtc3Ryb2tlLXVwXCI6ICRmYS12YXItbWFycy1zdHJva2UtdXAsXG4gIFwibWFycy1zdHJva2UtdlwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLXYsXG4gIFwiY2hhbXBhZ25lLWdsYXNzZXNcIjogJGZhLXZhci1jaGFtcGFnbmUtZ2xhc3NlcyxcbiAgXCJnbGFzcy1jaGVlcnNcIjogJGZhLXZhci1nbGFzcy1jaGVlcnMsXG4gIFwiY2xpcGJvYXJkXCI6ICRmYS12YXItY2xpcGJvYXJkLFxuICBcImhvdXNlLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWhvdXNlLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJmaWxlLWFycm93LXVwXCI6ICRmYS12YXItZmlsZS1hcnJvdy11cCxcbiAgXCJmaWxlLXVwbG9hZFwiOiAkZmEtdmFyLWZpbGUtdXBsb2FkLFxuICBcIndpZmlcIjogJGZhLXZhci13aWZpLFxuICBcIndpZmktM1wiOiAkZmEtdmFyLXdpZmktMyxcbiAgXCJ3aWZpLXN0cm9uZ1wiOiAkZmEtdmFyLXdpZmktc3Ryb25nLFxuICBcImJhdGhcIjogJGZhLXZhci1iYXRoLFxuICBcImJhdGh0dWJcIjogJGZhLXZhci1iYXRodHViLFxuICBcInVuZGVybGluZVwiOiAkZmEtdmFyLXVuZGVybGluZSxcbiAgXCJ1c2VyLXBlblwiOiAkZmEtdmFyLXVzZXItcGVuLFxuICBcInVzZXItZWRpdFwiOiAkZmEtdmFyLXVzZXItZWRpdCxcbiAgXCJzaWduYXR1cmVcIjogJGZhLXZhci1zaWduYXR1cmUsXG4gIFwic3Ryb29wd2FmZWxcIjogJGZhLXZhci1zdHJvb3B3YWZlbCxcbiAgXCJib2xkXCI6ICRmYS12YXItYm9sZCxcbiAgXCJhbmNob3ItbG9ja1wiOiAkZmEtdmFyLWFuY2hvci1sb2NrLFxuICBcImJ1aWxkaW5nLW5nb1wiOiAkZmEtdmFyLWJ1aWxkaW5nLW5nbyxcbiAgXCJtYW5hdC1zaWduXCI6ICRmYS12YXItbWFuYXQtc2lnbixcbiAgXCJub3QtZXF1YWxcIjogJGZhLXZhci1ub3QtZXF1YWwsXG4gIFwiYm9yZGVyLXRvcC1sZWZ0XCI6ICRmYS12YXItYm9yZGVyLXRvcC1sZWZ0LFxuICBcImJvcmRlci1zdHlsZVwiOiAkZmEtdmFyLWJvcmRlci1zdHlsZSxcbiAgXCJtYXAtbG9jYXRpb24tZG90XCI6ICRmYS12YXItbWFwLWxvY2F0aW9uLWRvdCxcbiAgXCJtYXAtbWFya2VkLWFsdFwiOiAkZmEtdmFyLW1hcC1tYXJrZWQtYWx0LFxuICBcImplZGlcIjogJGZhLXZhci1qZWRpLFxuICBcInNxdWFyZS1wb2xsLXZlcnRpY2FsXCI6ICRmYS12YXItc3F1YXJlLXBvbGwtdmVydGljYWwsXG4gIFwicG9sbFwiOiAkZmEtdmFyLXBvbGwsXG4gIFwibXVnLWhvdFwiOiAkZmEtdmFyLW11Zy1ob3QsXG4gIFwiY2FyLWJhdHRlcnlcIjogJGZhLXZhci1jYXItYmF0dGVyeSxcbiAgXCJiYXR0ZXJ5LWNhclwiOiAkZmEtdmFyLWJhdHRlcnktY2FyLFxuICBcImdpZnRcIjogJGZhLXZhci1naWZ0LFxuICBcImRpY2UtdHdvXCI6ICRmYS12YXItZGljZS10d28sXG4gIFwiY2hlc3MtcXVlZW5cIjogJGZhLXZhci1jaGVzcy1xdWVlbixcbiAgXCJnbGFzc2VzXCI6ICRmYS12YXItZ2xhc3NlcyxcbiAgXCJjaGVzcy1ib2FyZFwiOiAkZmEtdmFyLWNoZXNzLWJvYXJkLFxuICBcImJ1aWxkaW5nLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1jaGVjayxcbiAgXCJwZXJzb24tY2hhbGtib2FyZFwiOiAkZmEtdmFyLXBlcnNvbi1jaGFsa2JvYXJkLFxuICBcIm1hcnMtc3Ryb2tlLXJpZ2h0XCI6ICRmYS12YXItbWFycy1zdHJva2UtcmlnaHQsXG4gIFwibWFycy1zdHJva2UtaFwiOiAkZmEtdmFyLW1hcnMtc3Ryb2tlLWgsXG4gIFwiaGFuZC1iYWNrLWZpc3RcIjogJGZhLXZhci1oYW5kLWJhY2stZmlzdCxcbiAgXCJoYW5kLXJvY2tcIjogJGZhLXZhci1oYW5kLXJvY2ssXG4gIFwic3F1YXJlLWNhcmV0LXVwXCI6ICRmYS12YXItc3F1YXJlLWNhcmV0LXVwLFxuICBcImNhcmV0LXNxdWFyZS11cFwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS11cCxcbiAgXCJjbG91ZC1zaG93ZXJzLXdhdGVyXCI6ICRmYS12YXItY2xvdWQtc2hvd2Vycy13YXRlcixcbiAgXCJjaGFydC1iYXJcIjogJGZhLXZhci1jaGFydC1iYXIsXG4gIFwiYmFyLWNoYXJ0XCI6ICRmYS12YXItYmFyLWNoYXJ0LFxuICBcImhhbmRzLWJ1YmJsZXNcIjogJGZhLXZhci1oYW5kcy1idWJibGVzLFxuICBcImhhbmRzLXdhc2hcIjogJGZhLXZhci1oYW5kcy13YXNoLFxuICBcImxlc3MtdGhhbi1lcXVhbFwiOiAkZmEtdmFyLWxlc3MtdGhhbi1lcXVhbCxcbiAgXCJ0cmFpblwiOiAkZmEtdmFyLXRyYWluLFxuICBcImV5ZS1sb3ctdmlzaW9uXCI6ICRmYS12YXItZXllLWxvdy12aXNpb24sXG4gIFwibG93LXZpc2lvblwiOiAkZmEtdmFyLWxvdy12aXNpb24sXG4gIFwiY3Jvd1wiOiAkZmEtdmFyLWNyb3csXG4gIFwic2FpbGJvYXRcIjogJGZhLXZhci1zYWlsYm9hdCxcbiAgXCJ3aW5kb3ctcmVzdG9yZVwiOiAkZmEtdmFyLXdpbmRvdy1yZXN0b3JlLFxuICBcInNxdWFyZS1wbHVzXCI6ICRmYS12YXItc3F1YXJlLXBsdXMsXG4gIFwicGx1cy1zcXVhcmVcIjogJGZhLXZhci1wbHVzLXNxdWFyZSxcbiAgXCJ0b3JpaS1nYXRlXCI6ICRmYS12YXItdG9yaWktZ2F0ZSxcbiAgXCJmcm9nXCI6ICRmYS12YXItZnJvZyxcbiAgXCJidWNrZXRcIjogJGZhLXZhci1idWNrZXQsXG4gIFwiaW1hZ2VcIjogJGZhLXZhci1pbWFnZSxcbiAgXCJtaWNyb3Bob25lXCI6ICRmYS12YXItbWljcm9waG9uZSxcbiAgXCJjb3dcIjogJGZhLXZhci1jb3csXG4gIFwiY2FyZXQtdXBcIjogJGZhLXZhci1jYXJldC11cCxcbiAgXCJzY3Jld2RyaXZlclwiOiAkZmEtdmFyLXNjcmV3ZHJpdmVyLFxuICBcImZvbGRlci1jbG9zZWRcIjogJGZhLXZhci1mb2xkZXItY2xvc2VkLFxuICBcImhvdXNlLXRzdW5hbWlcIjogJGZhLXZhci1ob3VzZS10c3VuYW1pLFxuICBcInNxdWFyZS1uZmlcIjogJGZhLXZhci1zcXVhcmUtbmZpLFxuICBcImFycm93LXVwLWZyb20tZ3JvdW5kLXdhdGVyXCI6ICRmYS12YXItYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXIsXG4gIFwibWFydGluaS1nbGFzc1wiOiAkZmEtdmFyLW1hcnRpbmktZ2xhc3MsXG4gIFwiZ2xhc3MtbWFydGluaS1hbHRcIjogJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdCxcbiAgXCJyb3RhdGUtbGVmdFwiOiAkZmEtdmFyLXJvdGF0ZS1sZWZ0LFxuICBcInJvdGF0ZS1iYWNrXCI6ICRmYS12YXItcm90YXRlLWJhY2ssXG4gIFwicm90YXRlLWJhY2t3YXJkXCI6ICRmYS12YXItcm90YXRlLWJhY2t3YXJkLFxuICBcInVuZG8tYWx0XCI6ICRmYS12YXItdW5kby1hbHQsXG4gIFwidGFibGUtY29sdW1uc1wiOiAkZmEtdmFyLXRhYmxlLWNvbHVtbnMsXG4gIFwiY29sdW1uc1wiOiAkZmEtdmFyLWNvbHVtbnMsXG4gIFwibGVtb25cIjogJGZhLXZhci1sZW1vbixcbiAgXCJoZWFkLXNpZGUtbWFza1wiOiAkZmEtdmFyLWhlYWQtc2lkZS1tYXNrLFxuICBcImhhbmRzaGFrZVwiOiAkZmEtdmFyLWhhbmRzaGFrZSxcbiAgXCJnZW1cIjogJGZhLXZhci1nZW0sXG4gIFwiZG9sbHlcIjogJGZhLXZhci1kb2xseSxcbiAgXCJkb2xseS1ib3hcIjogJGZhLXZhci1kb2xseS1ib3gsXG4gIFwic21va2luZ1wiOiAkZmEtdmFyLXNtb2tpbmcsXG4gIFwibWluaW1pemVcIjogJGZhLXZhci1taW5pbWl6ZSxcbiAgXCJjb21wcmVzcy1hcnJvd3MtYWx0XCI6ICRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdCxcbiAgXCJtb251bWVudFwiOiAkZmEtdmFyLW1vbnVtZW50LFxuICBcInNub3dwbG93XCI6ICRmYS12YXItc25vd3Bsb3csXG4gIFwiYW5nbGVzLXJpZ2h0XCI6ICRmYS12YXItYW5nbGVzLXJpZ2h0LFxuICBcImFuZ2xlLWRvdWJsZS1yaWdodFwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodCxcbiAgXCJjYW5uYWJpc1wiOiAkZmEtdmFyLWNhbm5hYmlzLFxuICBcImNpcmNsZS1wbGF5XCI6ICRmYS12YXItY2lyY2xlLXBsYXksXG4gIFwicGxheS1jaXJjbGVcIjogJGZhLXZhci1wbGF5LWNpcmNsZSxcbiAgXCJ0YWJsZXRzXCI6ICRmYS12YXItdGFibGV0cyxcbiAgXCJldGhlcm5ldFwiOiAkZmEtdmFyLWV0aGVybmV0LFxuICBcImV1cm8tc2lnblwiOiAkZmEtdmFyLWV1cm8tc2lnbixcbiAgXCJldXJcIjogJGZhLXZhci1ldXIsXG4gIFwiZXVyb1wiOiAkZmEtdmFyLWV1cm8sXG4gIFwiY2hhaXJcIjogJGZhLXZhci1jaGFpcixcbiAgXCJjaXJjbGUtY2hlY2tcIjogJGZhLXZhci1jaXJjbGUtY2hlY2ssXG4gIFwiY2hlY2stY2lyY2xlXCI6ICRmYS12YXItY2hlY2stY2lyY2xlLFxuICBcImNpcmNsZS1zdG9wXCI6ICRmYS12YXItY2lyY2xlLXN0b3AsXG4gIFwic3RvcC1jaXJjbGVcIjogJGZhLXZhci1zdG9wLWNpcmNsZSxcbiAgXCJjb21wYXNzLWRyYWZ0aW5nXCI6ICRmYS12YXItY29tcGFzcy1kcmFmdGluZyxcbiAgXCJkcmFmdGluZy1jb21wYXNzXCI6ICRmYS12YXItZHJhZnRpbmctY29tcGFzcyxcbiAgXCJwbGF0ZS13aGVhdFwiOiAkZmEtdmFyLXBsYXRlLXdoZWF0LFxuICBcImljaWNsZXNcIjogJGZhLXZhci1pY2ljbGVzLFxuICBcInBlcnNvbi1zaGVsdGVyXCI6ICRmYS12YXItcGVyc29uLXNoZWx0ZXIsXG4gIFwibmV1dGVyXCI6ICRmYS12YXItbmV1dGVyLFxuICBcImlkLWJhZGdlXCI6ICRmYS12YXItaWQtYmFkZ2UsXG4gIFwibWFya2VyXCI6ICRmYS12YXItbWFya2VyLFxuICBcImZhY2UtbGF1Z2gtYmVhbVwiOiAkZmEtdmFyLWZhY2UtbGF1Z2gtYmVhbSxcbiAgXCJsYXVnaC1iZWFtXCI6ICRmYS12YXItbGF1Z2gtYmVhbSxcbiAgXCJoZWxpY29wdGVyLXN5bWJvbFwiOiAkZmEtdmFyLWhlbGljb3B0ZXItc3ltYm9sLFxuICBcInVuaXZlcnNhbC1hY2Nlc3NcIjogJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzLFxuICBcImNpcmNsZS1jaGV2cm9uLXVwXCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tdXAsXG4gIFwiY2hldnJvbi1jaXJjbGUtdXBcIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCxcbiAgXCJsYXJpLXNpZ25cIjogJGZhLXZhci1sYXJpLXNpZ24sXG4gIFwidm9sY2Fub1wiOiAkZmEtdmFyLXZvbGNhbm8sXG4gIFwicGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodCxcbiAgXCJzdGVybGluZy1zaWduXCI6ICRmYS12YXItc3Rlcmxpbmctc2lnbixcbiAgXCJnYnBcIjogJGZhLXZhci1nYnAsXG4gIFwicG91bmQtc2lnblwiOiAkZmEtdmFyLXBvdW5kLXNpZ24sXG4gIFwidmlydXNlc1wiOiAkZmEtdmFyLXZpcnVzZXMsXG4gIFwic3F1YXJlLXBlcnNvbi1jb25maW5lZFwiOiAkZmEtdmFyLXNxdWFyZS1wZXJzb24tY29uZmluZWQsXG4gIFwidXNlci10aWVcIjogJGZhLXZhci11c2VyLXRpZSxcbiAgXCJhcnJvdy1kb3duLWxvbmdcIjogJGZhLXZhci1hcnJvdy1kb3duLWxvbmcsXG4gIFwibG9uZy1hcnJvdy1kb3duXCI6ICRmYS12YXItbG9uZy1hcnJvdy1kb3duLFxuICBcInRlbnQtYXJyb3ctZG93bi10by1saW5lXCI6ICRmYS12YXItdGVudC1hcnJvdy1kb3duLXRvLWxpbmUsXG4gIFwiY2VydGlmaWNhdGVcIjogJGZhLXZhci1jZXJ0aWZpY2F0ZSxcbiAgXCJyZXBseS1hbGxcIjogJGZhLXZhci1yZXBseS1hbGwsXG4gIFwibWFpbC1yZXBseS1hbGxcIjogJGZhLXZhci1tYWlsLXJlcGx5LWFsbCxcbiAgXCJzdWl0Y2FzZVwiOiAkZmEtdmFyLXN1aXRjYXNlLFxuICBcInBlcnNvbi1za2F0aW5nXCI6ICRmYS12YXItcGVyc29uLXNrYXRpbmcsXG4gIFwic2thdGluZ1wiOiAkZmEtdmFyLXNrYXRpbmcsXG4gIFwiZmlsdGVyLWNpcmNsZS1kb2xsYXJcIjogJGZhLXZhci1maWx0ZXItY2lyY2xlLWRvbGxhcixcbiAgXCJmdW5uZWwtZG9sbGFyXCI6ICRmYS12YXItZnVubmVsLWRvbGxhcixcbiAgXCJjYW1lcmEtcmV0cm9cIjogJGZhLXZhci1jYW1lcmEtcmV0cm8sXG4gIFwiY2lyY2xlLWFycm93LWRvd25cIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctZG93bixcbiAgXCJhcnJvdy1jaXJjbGUtZG93blwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS1kb3duLFxuICBcImZpbGUtaW1wb3J0XCI6ICRmYS12YXItZmlsZS1pbXBvcnQsXG4gIFwiYXJyb3ctcmlnaHQtdG8tZmlsZVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXRvLWZpbGUsXG4gIFwic3F1YXJlLWFycm93LXVwLXJpZ2h0XCI6ICRmYS12YXItc3F1YXJlLWFycm93LXVwLXJpZ2h0LFxuICBcImV4dGVybmFsLWxpbmstc3F1YXJlXCI6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUsXG4gIFwiYm94LW9wZW5cIjogJGZhLXZhci1ib3gtb3BlbixcbiAgXCJzY3JvbGxcIjogJGZhLXZhci1zY3JvbGwsXG4gIFwic3BhXCI6ICRmYS12YXItc3BhLFxuICBcImxvY2F0aW9uLXBpbi1sb2NrXCI6ICRmYS12YXItbG9jYXRpb24tcGluLWxvY2ssXG4gIFwicGF1c2VcIjogJGZhLXZhci1wYXVzZSxcbiAgXCJoaWxsLWF2YWxhbmNoZVwiOiAkZmEtdmFyLWhpbGwtYXZhbGFuY2hlLFxuICBcInRlbXBlcmF0dXJlLWVtcHR5XCI6ICRmYS12YXItdGVtcGVyYXR1cmUtZW1wdHksXG4gIFwidGVtcGVyYXR1cmUtMFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTAsXG4gIFwidGhlcm1vbWV0ZXItMFwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTAsXG4gIFwidGhlcm1vbWV0ZXItZW1wdHlcIjogJGZhLXZhci10aGVybW9tZXRlci1lbXB0eSxcbiAgXCJib21iXCI6ICRmYS12YXItYm9tYixcbiAgXCJyZWdpc3RlcmVkXCI6ICRmYS12YXItcmVnaXN0ZXJlZCxcbiAgXCJhZGRyZXNzLWNhcmRcIjogJGZhLXZhci1hZGRyZXNzLWNhcmQsXG4gIFwiY29udGFjdC1jYXJkXCI6ICRmYS12YXItY29udGFjdC1jYXJkLFxuICBcInZjYXJkXCI6ICRmYS12YXItdmNhcmQsXG4gIFwic2NhbGUtdW5iYWxhbmNlZC1mbGlwXCI6ICRmYS12YXItc2NhbGUtdW5iYWxhbmNlZC1mbGlwLFxuICBcImJhbGFuY2Utc2NhbGUtcmlnaHRcIjogJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0LFxuICBcInN1YnNjcmlwdFwiOiAkZmEtdmFyLXN1YnNjcmlwdCxcbiAgXCJkaWFtb25kLXR1cm4tcmlnaHRcIjogJGZhLXZhci1kaWFtb25kLXR1cm4tcmlnaHQsXG4gIFwiZGlyZWN0aW9uc1wiOiAkZmEtdmFyLWRpcmVjdGlvbnMsXG4gIFwiYnVyc3RcIjogJGZhLXZhci1idXJzdCxcbiAgXCJob3VzZS1sYXB0b3BcIjogJGZhLXZhci1ob3VzZS1sYXB0b3AsXG4gIFwibGFwdG9wLWhvdXNlXCI6ICRmYS12YXItbGFwdG9wLWhvdXNlLFxuICBcImZhY2UtdGlyZWRcIjogJGZhLXZhci1mYWNlLXRpcmVkLFxuICBcInRpcmVkXCI6ICRmYS12YXItdGlyZWQsXG4gIFwibW9uZXktYmlsbHNcIjogJGZhLXZhci1tb25leS1iaWxscyxcbiAgXCJzbW9nXCI6ICRmYS12YXItc21vZyxcbiAgXCJjcnV0Y2hcIjogJGZhLXZhci1jcnV0Y2gsXG4gIFwiY2xvdWQtYXJyb3ctdXBcIjogJGZhLXZhci1jbG91ZC1hcnJvdy11cCxcbiAgXCJjbG91ZC11cGxvYWRcIjogJGZhLXZhci1jbG91ZC11cGxvYWQsXG4gIFwiY2xvdWQtdXBsb2FkLWFsdFwiOiAkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQsXG4gIFwicGFsZXR0ZVwiOiAkZmEtdmFyLXBhbGV0dGUsXG4gIFwiYXJyb3dzLXR1cm4tcmlnaHRcIjogJGZhLXZhci1hcnJvd3MtdHVybi1yaWdodCxcbiAgXCJ2ZXN0XCI6ICRmYS12YXItdmVzdCxcbiAgXCJmZXJyeVwiOiAkZmEtdmFyLWZlcnJ5LFxuICBcImFycm93cy1kb3duLXRvLXBlb3BsZVwiOiAkZmEtdmFyLWFycm93cy1kb3duLXRvLXBlb3BsZSxcbiAgXCJzZWVkbGluZ1wiOiAkZmEtdmFyLXNlZWRsaW5nLFxuICBcInNwcm91dFwiOiAkZmEtdmFyLXNwcm91dCxcbiAgXCJsZWZ0LXJpZ2h0XCI6ICRmYS12YXItbGVmdC1yaWdodCxcbiAgXCJhcnJvd3MtYWx0LWhcIjogJGZhLXZhci1hcnJvd3MtYWx0LWgsXG4gIFwiYm94ZXMtcGFja2luZ1wiOiAkZmEtdmFyLWJveGVzLXBhY2tpbmcsXG4gIFwiY2lyY2xlLWFycm93LWxlZnRcIjogJGZhLXZhci1jaXJjbGUtYXJyb3ctbGVmdCxcbiAgXCJhcnJvdy1jaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0LFxuICBcImdyb3VwLWFycm93cy1yb3RhdGVcIjogJGZhLXZhci1ncm91cC1hcnJvd3Mtcm90YXRlLFxuICBcImJvd2wtZm9vZFwiOiAkZmEtdmFyLWJvd2wtZm9vZCxcbiAgXCJjYW5keS1jYW5lXCI6ICRmYS12YXItY2FuZHktY2FuZSxcbiAgXCJhcnJvdy1kb3duLXdpZGUtc2hvcnRcIjogJGZhLXZhci1hcnJvdy1kb3duLXdpZGUtc2hvcnQsXG4gIFwic29ydC1hbW91bnQtYXNjXCI6ICRmYS12YXItc29ydC1hbW91bnQtYXNjLFxuICBcInNvcnQtYW1vdW50LWRvd25cIjogJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLFxuICBcImNsb3VkLWJvbHRcIjogJGZhLXZhci1jbG91ZC1ib2x0LFxuICBcInRodW5kZXJzdG9ybVwiOiAkZmEtdmFyLXRodW5kZXJzdG9ybSxcbiAgXCJ0ZXh0LXNsYXNoXCI6ICRmYS12YXItdGV4dC1zbGFzaCxcbiAgXCJyZW1vdmUtZm9ybWF0XCI6ICRmYS12YXItcmVtb3ZlLWZvcm1hdCxcbiAgXCJmYWNlLXNtaWxlLXdpbmtcIjogJGZhLXZhci1mYWNlLXNtaWxlLXdpbmssXG4gIFwic21pbGUtd2lua1wiOiAkZmEtdmFyLXNtaWxlLXdpbmssXG4gIFwiZmlsZS13b3JkXCI6ICRmYS12YXItZmlsZS13b3JkLFxuICBcImZpbGUtcG93ZXJwb2ludFwiOiAkZmEtdmFyLWZpbGUtcG93ZXJwb2ludCxcbiAgXCJhcnJvd3MtbGVmdC1yaWdodFwiOiAkZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0LFxuICBcImFycm93cy1oXCI6ICRmYS12YXItYXJyb3dzLWgsXG4gIFwiaG91c2UtbG9ja1wiOiAkZmEtdmFyLWhvdXNlLWxvY2ssXG4gIFwiY2xvdWQtYXJyb3ctZG93blwiOiAkZmEtdmFyLWNsb3VkLWFycm93LWRvd24sXG4gIFwiY2xvdWQtZG93bmxvYWRcIjogJGZhLXZhci1jbG91ZC1kb3dubG9hZCxcbiAgXCJjbG91ZC1kb3dubG9hZC1hbHRcIjogJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQsXG4gIFwiY2hpbGRyZW5cIjogJGZhLXZhci1jaGlsZHJlbixcbiAgXCJjaGFsa2JvYXJkXCI6ICRmYS12YXItY2hhbGtib2FyZCxcbiAgXCJibGFja2JvYXJkXCI6ICRmYS12YXItYmxhY2tib2FyZCxcbiAgXCJ1c2VyLWxhcmdlLXNsYXNoXCI6ICRmYS12YXItdXNlci1sYXJnZS1zbGFzaCxcbiAgXCJ1c2VyLWFsdC1zbGFzaFwiOiAkZmEtdmFyLXVzZXItYWx0LXNsYXNoLFxuICBcImVudmVsb3BlLW9wZW5cIjogJGZhLXZhci1lbnZlbG9wZS1vcGVuLFxuICBcImhhbmRzaGFrZS1zaW1wbGUtc2xhc2hcIjogJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlLXNsYXNoLFxuICBcImhhbmRzaGFrZS1hbHQtc2xhc2hcIjogJGZhLXZhci1oYW5kc2hha2UtYWx0LXNsYXNoLFxuICBcIm1hdHRyZXNzLXBpbGxvd1wiOiAkZmEtdmFyLW1hdHRyZXNzLXBpbGxvdyxcbiAgXCJndWFyYW5pLXNpZ25cIjogJGZhLXZhci1ndWFyYW5pLXNpZ24sXG4gIFwiYXJyb3dzLXJvdGF0ZVwiOiAkZmEtdmFyLWFycm93cy1yb3RhdGUsXG4gIFwicmVmcmVzaFwiOiAkZmEtdmFyLXJlZnJlc2gsXG4gIFwic3luY1wiOiAkZmEtdmFyLXN5bmMsXG4gIFwiZmlyZS1leHRpbmd1aXNoZXJcIjogJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcixcbiAgXCJjcnV6ZWlyby1zaWduXCI6ICRmYS12YXItY3J1emVpcm8tc2lnbixcbiAgXCJncmVhdGVyLXRoYW4tZXF1YWxcIjogJGZhLXZhci1ncmVhdGVyLXRoYW4tZXF1YWwsXG4gIFwic2hpZWxkLWhhbHZlZFwiOiAkZmEtdmFyLXNoaWVsZC1oYWx2ZWQsXG4gIFwic2hpZWxkLWFsdFwiOiAkZmEtdmFyLXNoaWVsZC1hbHQsXG4gIFwiYm9vay1hdGxhc1wiOiAkZmEtdmFyLWJvb2stYXRsYXMsXG4gIFwiYXRsYXNcIjogJGZhLXZhci1hdGxhcyxcbiAgXCJ2aXJ1c1wiOiAkZmEtdmFyLXZpcnVzLFxuICBcImVudmVsb3BlLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWVudmVsb3BlLWNpcmNsZS1jaGVjayxcbiAgXCJsYXllci1ncm91cFwiOiAkZmEtdmFyLWxheWVyLWdyb3VwLFxuICBcImFycm93cy10by1kb3RcIjogJGZhLXZhci1hcnJvd3MtdG8tZG90LFxuICBcImFyY2h3YXlcIjogJGZhLXZhci1hcmNod2F5LFxuICBcImhlYXJ0LWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1jaGVjayxcbiAgXCJob3VzZS1jaGltbmV5LWNyYWNrXCI6ICRmYS12YXItaG91c2UtY2hpbW5leS1jcmFjayxcbiAgXCJob3VzZS1kYW1hZ2VcIjogJGZhLXZhci1ob3VzZS1kYW1hZ2UsXG4gIFwiZmlsZS16aXBwZXJcIjogJGZhLXZhci1maWxlLXppcHBlcixcbiAgXCJmaWxlLWFyY2hpdmVcIjogJGZhLXZhci1maWxlLWFyY2hpdmUsXG4gIFwic3F1YXJlXCI6ICRmYS12YXItc3F1YXJlLFxuICBcIm1hcnRpbmktZ2xhc3MtZW1wdHlcIjogJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWVtcHR5LFxuICBcImdsYXNzLW1hcnRpbmlcIjogJGZhLXZhci1nbGFzcy1tYXJ0aW5pLFxuICBcImNvdWNoXCI6ICRmYS12YXItY291Y2gsXG4gIFwiY2VkaS1zaWduXCI6ICRmYS12YXItY2VkaS1zaWduLFxuICBcIml0YWxpY1wiOiAkZmEtdmFyLWl0YWxpYyxcbiAgXCJjaHVyY2hcIjogJGZhLXZhci1jaHVyY2gsXG4gIFwiY29tbWVudHMtZG9sbGFyXCI6ICRmYS12YXItY29tbWVudHMtZG9sbGFyLFxuICBcImRlbW9jcmF0XCI6ICRmYS12YXItZGVtb2NyYXQsXG4gIFwielwiOiAkZmEtdmFyLXosXG4gIFwicGVyc29uLXNraWluZ1wiOiAkZmEtdmFyLXBlcnNvbi1za2lpbmcsXG4gIFwic2tpaW5nXCI6ICRmYS12YXItc2tpaW5nLFxuICBcInJvYWQtbG9ja1wiOiAkZmEtdmFyLXJvYWQtbG9jayxcbiAgXCJhXCI6ICRmYS12YXItYSxcbiAgXCJ0ZW1wZXJhdHVyZS1hcnJvdy1kb3duXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctZG93bixcbiAgXCJ0ZW1wZXJhdHVyZS1kb3duXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtZG93bixcbiAgXCJmZWF0aGVyLXBvaW50ZWRcIjogJGZhLXZhci1mZWF0aGVyLXBvaW50ZWQsXG4gIFwiZmVhdGhlci1hbHRcIjogJGZhLXZhci1mZWF0aGVyLWFsdCxcbiAgXCJwXCI6ICRmYS12YXItcCxcbiAgXCJzbm93Zmxha2VcIjogJGZhLXZhci1zbm93Zmxha2UsXG4gIFwibmV3c3BhcGVyXCI6ICRmYS12YXItbmV3c3BhcGVyLFxuICBcInJlY3RhbmdsZS1hZFwiOiAkZmEtdmFyLXJlY3RhbmdsZS1hZCxcbiAgXCJhZFwiOiAkZmEtdmFyLWFkLFxuICBcImNpcmNsZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy1yaWdodCxcbiAgXCJhcnJvdy1jaXJjbGUtcmlnaHRcIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQsXG4gIFwiZmlsdGVyLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWZpbHRlci1jaXJjbGUteG1hcmssXG4gIFwibG9jdXN0XCI6ICRmYS12YXItbG9jdXN0LFxuICBcInNvcnRcIjogJGZhLXZhci1zb3J0LFxuICBcInVuc29ydGVkXCI6ICRmYS12YXItdW5zb3J0ZWQsXG4gIFwibGlzdC1vbFwiOiAkZmEtdmFyLWxpc3Qtb2wsXG4gIFwibGlzdC0xLTJcIjogJGZhLXZhci1saXN0LTEtMixcbiAgXCJsaXN0LW51bWVyaWNcIjogJGZhLXZhci1saXN0LW51bWVyaWMsXG4gIFwicGVyc29uLWRyZXNzLWJ1cnN0XCI6ICRmYS12YXItcGVyc29uLWRyZXNzLWJ1cnN0LFxuICBcIm1vbmV5LWNoZWNrLWRvbGxhclwiOiAkZmEtdmFyLW1vbmV5LWNoZWNrLWRvbGxhcixcbiAgXCJtb25leS1jaGVjay1hbHRcIjogJGZhLXZhci1tb25leS1jaGVjay1hbHQsXG4gIFwidmVjdG9yLXNxdWFyZVwiOiAkZmEtdmFyLXZlY3Rvci1zcXVhcmUsXG4gIFwiYnJlYWQtc2xpY2VcIjogJGZhLXZhci1icmVhZC1zbGljZSxcbiAgXCJsYW5ndWFnZVwiOiAkZmEtdmFyLWxhbmd1YWdlLFxuICBcImZhY2Uta2lzcy13aW5rLWhlYXJ0XCI6ICRmYS12YXItZmFjZS1raXNzLXdpbmstaGVhcnQsXG4gIFwia2lzcy13aW5rLWhlYXJ0XCI6ICRmYS12YXIta2lzcy13aW5rLWhlYXJ0LFxuICBcImZpbHRlclwiOiAkZmEtdmFyLWZpbHRlcixcbiAgXCJxdWVzdGlvblwiOiAkZmEtdmFyLXF1ZXN0aW9uLFxuICBcImZpbGUtc2lnbmF0dXJlXCI6ICRmYS12YXItZmlsZS1zaWduYXR1cmUsXG4gIFwidXAtZG93bi1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItdXAtZG93bi1sZWZ0LXJpZ2h0LFxuICBcImFycm93cy1hbHRcIjogJGZhLXZhci1hcnJvd3MtYWx0LFxuICBcImhvdXNlLWNoaW1uZXktdXNlclwiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktdXNlcixcbiAgXCJoYW5kLWhvbGRpbmctaGVhcnRcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctaGVhcnQsXG4gIFwicHV6emxlLXBpZWNlXCI6ICRmYS12YXItcHV6emxlLXBpZWNlLFxuICBcIm1vbmV5LWNoZWNrXCI6ICRmYS12YXItbW9uZXktY2hlY2ssXG4gIFwic3Rhci1oYWxmLXN0cm9rZVwiOiAkZmEtdmFyLXN0YXItaGFsZi1zdHJva2UsXG4gIFwic3Rhci1oYWxmLWFsdFwiOiAkZmEtdmFyLXN0YXItaGFsZi1hbHQsXG4gIFwiY29kZVwiOiAkZmEtdmFyLWNvZGUsXG4gIFwid2hpc2tleS1nbGFzc1wiOiAkZmEtdmFyLXdoaXNrZXktZ2xhc3MsXG4gIFwiZ2xhc3Mtd2hpc2tleVwiOiAkZmEtdmFyLWdsYXNzLXdoaXNrZXksXG4gIFwiYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtY2hhcnRcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWNoYXJ0LFxuICBcImFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlXCI6ICRmYS12YXItYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUsXG4gIFwiZXh0ZXJuYWwtbGlua1wiOiAkZmEtdmFyLWV4dGVybmFsLWxpbmssXG4gIFwiY3ViZXMtc3RhY2tlZFwiOiAkZmEtdmFyLWN1YmVzLXN0YWNrZWQsXG4gIFwid29uLXNpZ25cIjogJGZhLXZhci13b24tc2lnbixcbiAgXCJrcndcIjogJGZhLXZhci1rcncsXG4gIFwid29uXCI6ICRmYS12YXItd29uLFxuICBcInZpcnVzLWNvdmlkXCI6ICRmYS12YXItdmlydXMtY292aWQsXG4gIFwiYXVzdHJhbC1zaWduXCI6ICRmYS12YXItYXVzdHJhbC1zaWduLFxuICBcImZcIjogJGZhLXZhci1mLFxuICBcImxlYWZcIjogJGZhLXZhci1sZWFmLFxuICBcInJvYWRcIjogJGZhLXZhci1yb2FkLFxuICBcInRheGlcIjogJGZhLXZhci10YXhpLFxuICBcImNhYlwiOiAkZmEtdmFyLWNhYixcbiAgXCJwZXJzb24tY2lyY2xlLXBsdXNcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLXBsdXMsXG4gIFwiY2hhcnQtcGllXCI6ICRmYS12YXItY2hhcnQtcGllLFxuICBcInBpZS1jaGFydFwiOiAkZmEtdmFyLXBpZS1jaGFydCxcbiAgXCJib2x0LWxpZ2h0bmluZ1wiOiAkZmEtdmFyLWJvbHQtbGlnaHRuaW5nLFxuICBcInNhY2steG1hcmtcIjogJGZhLXZhci1zYWNrLXhtYXJrLFxuICBcImZpbGUtZXhjZWxcIjogJGZhLXZhci1maWxlLWV4Y2VsLFxuICBcImZpbGUtY29udHJhY3RcIjogJGZhLXZhci1maWxlLWNvbnRyYWN0LFxuICBcImZpc2gtZmluc1wiOiAkZmEtdmFyLWZpc2gtZmlucyxcbiAgXCJidWlsZGluZy1mbGFnXCI6ICRmYS12YXItYnVpbGRpbmctZmxhZyxcbiAgXCJmYWNlLWdyaW4tYmVhbVwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtLFxuICBcImdyaW4tYmVhbVwiOiAkZmEtdmFyLWdyaW4tYmVhbSxcbiAgXCJvYmplY3QtdW5ncm91cFwiOiAkZmEtdmFyLW9iamVjdC11bmdyb3VwLFxuICBcInBvb3BcIjogJGZhLXZhci1wb29wLFxuICBcImxvY2F0aW9uLXBpblwiOiAkZmEtdmFyLWxvY2F0aW9uLXBpbixcbiAgXCJtYXAtbWFya2VyXCI6ICRmYS12YXItbWFwLW1hcmtlcixcbiAgXCJrYWFiYVwiOiAkZmEtdmFyLWthYWJhLFxuICBcInRvaWxldC1wYXBlclwiOiAkZmEtdmFyLXRvaWxldC1wYXBlcixcbiAgXCJoZWxtZXQtc2FmZXR5XCI6ICRmYS12YXItaGVsbWV0LXNhZmV0eSxcbiAgXCJoYXJkLWhhdFwiOiAkZmEtdmFyLWhhcmQtaGF0LFxuICBcImhhdC1oYXJkXCI6ICRmYS12YXItaGF0LWhhcmQsXG4gIFwiZWplY3RcIjogJGZhLXZhci1lamVjdCxcbiAgXCJjaXJjbGUtcmlnaHRcIjogJGZhLXZhci1jaXJjbGUtcmlnaHQsXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQsXG4gIFwicGxhbmUtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcGxhbmUtY2lyY2xlLWNoZWNrLFxuICBcImZhY2Utcm9sbGluZy1leWVzXCI6ICRmYS12YXItZmFjZS1yb2xsaW5nLWV5ZXMsXG4gIFwibWVoLXJvbGxpbmctZXllc1wiOiAkZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXMsXG4gIFwib2JqZWN0LWdyb3VwXCI6ICRmYS12YXItb2JqZWN0LWdyb3VwLFxuICBcImNoYXJ0LWxpbmVcIjogJGZhLXZhci1jaGFydC1saW5lLFxuICBcImxpbmUtY2hhcnRcIjogJGZhLXZhci1saW5lLWNoYXJ0LFxuICBcIm1hc2stdmVudGlsYXRvclwiOiAkZmEtdmFyLW1hc2stdmVudGlsYXRvcixcbiAgXCJhcnJvdy1yaWdodFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LFxuICBcInNpZ25zLXBvc3RcIjogJGZhLXZhci1zaWducy1wb3N0LFxuICBcIm1hcC1zaWduc1wiOiAkZmEtdmFyLW1hcC1zaWducyxcbiAgXCJjYXNoLXJlZ2lzdGVyXCI6ICRmYS12YXItY2FzaC1yZWdpc3RlcixcbiAgXCJwZXJzb24tY2lyY2xlLXF1ZXN0aW9uXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1xdWVzdGlvbixcbiAgXCJoXCI6ICRmYS12YXItaCxcbiAgXCJ0YXJwXCI6ICRmYS12YXItdGFycCxcbiAgXCJzY3Jld2RyaXZlci13cmVuY2hcIjogJGZhLXZhci1zY3Jld2RyaXZlci13cmVuY2gsXG4gIFwidG9vbHNcIjogJGZhLXZhci10b29scyxcbiAgXCJhcnJvd3MtdG8tZXllXCI6ICRmYS12YXItYXJyb3dzLXRvLWV5ZSxcbiAgXCJwbHVnLWNpcmNsZS1ib2x0XCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtYm9sdCxcbiAgXCJoZWFydFwiOiAkZmEtdmFyLWhlYXJ0LFxuICBcIm1hcnMtYW5kLXZlbnVzXCI6ICRmYS12YXItbWFycy1hbmQtdmVudXMsXG4gIFwiaG91c2UtdXNlclwiOiAkZmEtdmFyLWhvdXNlLXVzZXIsXG4gIFwiaG9tZS11c2VyXCI6ICRmYS12YXItaG9tZS11c2VyLFxuICBcImR1bXBzdGVyLWZpcmVcIjogJGZhLXZhci1kdW1wc3Rlci1maXJlLFxuICBcImhvdXNlLWNyYWNrXCI6ICRmYS12YXItaG91c2UtY3JhY2ssXG4gIFwibWFydGluaS1nbGFzcy1jaXRydXNcIjogJGZhLXZhci1tYXJ0aW5pLWdsYXNzLWNpdHJ1cyxcbiAgXCJjb2NrdGFpbFwiOiAkZmEtdmFyLWNvY2t0YWlsLFxuICBcImZhY2Utc3VycHJpc2VcIjogJGZhLXZhci1mYWNlLXN1cnByaXNlLFxuICBcInN1cnByaXNlXCI6ICRmYS12YXItc3VycHJpc2UsXG4gIFwiYm90dGxlLXdhdGVyXCI6ICRmYS12YXItYm90dGxlLXdhdGVyLFxuICBcImNpcmNsZS1wYXVzZVwiOiAkZmEtdmFyLWNpcmNsZS1wYXVzZSxcbiAgXCJwYXVzZS1jaXJjbGVcIjogJGZhLXZhci1wYXVzZS1jaXJjbGUsXG4gIFwidG9pbGV0LXBhcGVyLXNsYXNoXCI6ICRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoLFxuICBcImFwcGxlLXdob2xlXCI6ICRmYS12YXItYXBwbGUtd2hvbGUsXG4gIFwiYXBwbGUtYWx0XCI6ICRmYS12YXItYXBwbGUtYWx0LFxuICBcImtpdGNoZW4tc2V0XCI6ICRmYS12YXIta2l0Y2hlbi1zZXQsXG4gIFwiclwiOiAkZmEtdmFyLXIsXG4gIFwidGVtcGVyYXR1cmUtcXVhcnRlclwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLXF1YXJ0ZXIsXG4gIFwidGVtcGVyYXR1cmUtMVwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTEsXG4gIFwidGhlcm1vbWV0ZXItMVwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTEsXG4gIFwidGhlcm1vbWV0ZXItcXVhcnRlclwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXIsXG4gIFwiY3ViZVwiOiAkZmEtdmFyLWN1YmUsXG4gIFwiYml0Y29pbi1zaWduXCI6ICRmYS12YXItYml0Y29pbi1zaWduLFxuICBcInNoaWVsZC1kb2dcIjogJGZhLXZhci1zaGllbGQtZG9nLFxuICBcInNvbGFyLXBhbmVsXCI6ICRmYS12YXItc29sYXItcGFuZWwsXG4gIFwibG9jay1vcGVuXCI6ICRmYS12YXItbG9jay1vcGVuLFxuICBcImVsZXZhdG9yXCI6ICRmYS12YXItZWxldmF0b3IsXG4gIFwibW9uZXktYmlsbC10cmFuc2ZlclwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtdHJhbnNmZXIsXG4gIFwibW9uZXktYmlsbC10cmVuZC11cFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtdHJlbmQtdXAsXG4gIFwiaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0XCI6ICRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXItY2lyY2xlLWFycm93LXJpZ2h0LFxuICBcInNxdWFyZS1wb2xsLWhvcml6b250YWxcIjogJGZhLXZhci1zcXVhcmUtcG9sbC1ob3Jpem9udGFsLFxuICBcInBvbGwtaFwiOiAkZmEtdmFyLXBvbGwtaCxcbiAgXCJjaXJjbGVcIjogJGZhLXZhci1jaXJjbGUsXG4gIFwiYmFja3dhcmQtZmFzdFwiOiAkZmEtdmFyLWJhY2t3YXJkLWZhc3QsXG4gIFwiZmFzdC1iYWNrd2FyZFwiOiAkZmEtdmFyLWZhc3QtYmFja3dhcmQsXG4gIFwicmVjeWNsZVwiOiAkZmEtdmFyLXJlY3ljbGUsXG4gIFwidXNlci1hc3Ryb25hdXRcIjogJGZhLXZhci11c2VyLWFzdHJvbmF1dCxcbiAgXCJwbGFuZS1zbGFzaFwiOiAkZmEtdmFyLXBsYW5lLXNsYXNoLFxuICBcInRyYWRlbWFya1wiOiAkZmEtdmFyLXRyYWRlbWFyayxcbiAgXCJiYXNrZXRiYWxsXCI6ICRmYS12YXItYmFza2V0YmFsbCxcbiAgXCJiYXNrZXRiYWxsLWJhbGxcIjogJGZhLXZhci1iYXNrZXRiYWxsLWJhbGwsXG4gIFwic2F0ZWxsaXRlLWRpc2hcIjogJGZhLXZhci1zYXRlbGxpdGUtZGlzaCxcbiAgXCJjaXJjbGUtdXBcIjogJGZhLXZhci1jaXJjbGUtdXAsXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS11cFwiOiAkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtdXAsXG4gIFwibW9iaWxlLXNjcmVlbi1idXR0b25cIjogJGZhLXZhci1tb2JpbGUtc2NyZWVuLWJ1dHRvbixcbiAgXCJtb2JpbGUtYWx0XCI6ICRmYS12YXItbW9iaWxlLWFsdCxcbiAgXCJ2b2x1bWUtaGlnaFwiOiAkZmEtdmFyLXZvbHVtZS1oaWdoLFxuICBcInZvbHVtZS11cFwiOiAkZmEtdmFyLXZvbHVtZS11cCxcbiAgXCJ1c2Vycy1yYXlzXCI6ICRmYS12YXItdXNlcnMtcmF5cyxcbiAgXCJ3YWxsZXRcIjogJGZhLXZhci13YWxsZXQsXG4gIFwiY2xpcGJvYXJkLWNoZWNrXCI6ICRmYS12YXItY2xpcGJvYXJkLWNoZWNrLFxuICBcImZpbGUtYXVkaW9cIjogJGZhLXZhci1maWxlLWF1ZGlvLFxuICBcImJ1cmdlclwiOiAkZmEtdmFyLWJ1cmdlcixcbiAgXCJoYW1idXJnZXJcIjogJGZhLXZhci1oYW1idXJnZXIsXG4gIFwid3JlbmNoXCI6ICRmYS12YXItd3JlbmNoLFxuICBcImJ1Z3NcIjogJGZhLXZhci1idWdzLFxuICBcInJ1cGVlLXNpZ25cIjogJGZhLXZhci1ydXBlZS1zaWduLFxuICBcInJ1cGVlXCI6ICRmYS12YXItcnVwZWUsXG4gIFwiZmlsZS1pbWFnZVwiOiAkZmEtdmFyLWZpbGUtaW1hZ2UsXG4gIFwiY2lyY2xlLXF1ZXN0aW9uXCI6ICRmYS12YXItY2lyY2xlLXF1ZXN0aW9uLFxuICBcInF1ZXN0aW9uLWNpcmNsZVwiOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSxcbiAgXCJwbGFuZS1kZXBhcnR1cmVcIjogJGZhLXZhci1wbGFuZS1kZXBhcnR1cmUsXG4gIFwiaGFuZHNoYWtlLXNsYXNoXCI6ICRmYS12YXItaGFuZHNoYWtlLXNsYXNoLFxuICBcImJvb2stYm9va21hcmtcIjogJGZhLXZhci1ib29rLWJvb2ttYXJrLFxuICBcImNvZGUtYnJhbmNoXCI6ICRmYS12YXItY29kZS1icmFuY2gsXG4gIFwiaGF0LWNvd2JveVwiOiAkZmEtdmFyLWhhdC1jb3dib3ksXG4gIFwiYnJpZGdlXCI6ICRmYS12YXItYnJpZGdlLFxuICBcInBob25lLWZsaXBcIjogJGZhLXZhci1waG9uZS1mbGlwLFxuICBcInBob25lLWFsdFwiOiAkZmEtdmFyLXBob25lLWFsdCxcbiAgXCJ0cnVjay1mcm9udFwiOiAkZmEtdmFyLXRydWNrLWZyb250LFxuICBcImNhdFwiOiAkZmEtdmFyLWNhdCxcbiAgXCJhbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJ0cnVjay1maWVsZFwiOiAkZmEtdmFyLXRydWNrLWZpZWxkLFxuICBcInJvdXRlXCI6ICRmYS12YXItcm91dGUsXG4gIFwiY2xpcGJvYXJkLXF1ZXN0aW9uXCI6ICRmYS12YXItY2xpcGJvYXJkLXF1ZXN0aW9uLFxuICBcInBhbm9yYW1hXCI6ICRmYS12YXItcGFub3JhbWEsXG4gIFwiY29tbWVudC1tZWRpY2FsXCI6ICRmYS12YXItY29tbWVudC1tZWRpY2FsLFxuICBcInRlZXRoLW9wZW5cIjogJGZhLXZhci10ZWV0aC1vcGVuLFxuICBcImZpbGUtY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtbWludXMsXG4gIFwidGFnc1wiOiAkZmEtdmFyLXRhZ3MsXG4gIFwid2luZS1nbGFzc1wiOiAkZmEtdmFyLXdpbmUtZ2xhc3MsXG4gIFwiZm9yd2FyZC1mYXN0XCI6ICRmYS12YXItZm9yd2FyZC1mYXN0LFxuICBcImZhc3QtZm9yd2FyZFwiOiAkZmEtdmFyLWZhc3QtZm9yd2FyZCxcbiAgXCJmYWNlLW1laC1ibGFua1wiOiAkZmEtdmFyLWZhY2UtbWVoLWJsYW5rLFxuICBcIm1laC1ibGFua1wiOiAkZmEtdmFyLW1laC1ibGFuayxcbiAgXCJzcXVhcmUtcGFya2luZ1wiOiAkZmEtdmFyLXNxdWFyZS1wYXJraW5nLFxuICBcInBhcmtpbmdcIjogJGZhLXZhci1wYXJraW5nLFxuICBcImhvdXNlLXNpZ25hbFwiOiAkZmEtdmFyLWhvdXNlLXNpZ25hbCxcbiAgXCJiYXJzLXByb2dyZXNzXCI6ICRmYS12YXItYmFycy1wcm9ncmVzcyxcbiAgXCJ0YXNrcy1hbHRcIjogJGZhLXZhci10YXNrcy1hbHQsXG4gIFwiZmF1Y2V0LWRyaXBcIjogJGZhLXZhci1mYXVjZXQtZHJpcCxcbiAgXCJjYXJ0LWZsYXRiZWRcIjogJGZhLXZhci1jYXJ0LWZsYXRiZWQsXG4gIFwiZG9sbHktZmxhdGJlZFwiOiAkZmEtdmFyLWRvbGx5LWZsYXRiZWQsXG4gIFwiYmFuLXNtb2tpbmdcIjogJGZhLXZhci1iYW4tc21va2luZyxcbiAgXCJzbW9raW5nLWJhblwiOiAkZmEtdmFyLXNtb2tpbmctYmFuLFxuICBcInRlcm1pbmFsXCI6ICRmYS12YXItdGVybWluYWwsXG4gIFwibW9iaWxlLWJ1dHRvblwiOiAkZmEtdmFyLW1vYmlsZS1idXR0b24sXG4gIFwiaG91c2UtbWVkaWNhbC1mbGFnXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1mbGFnLFxuICBcImJhc2tldC1zaG9wcGluZ1wiOiAkZmEtdmFyLWJhc2tldC1zaG9wcGluZyxcbiAgXCJzaG9wcGluZy1iYXNrZXRcIjogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQsXG4gIFwidGFwZVwiOiAkZmEtdmFyLXRhcGUsXG4gIFwiYnVzLXNpbXBsZVwiOiAkZmEtdmFyLWJ1cy1zaW1wbGUsXG4gIFwiYnVzLWFsdFwiOiAkZmEtdmFyLWJ1cy1hbHQsXG4gIFwiZXllXCI6ICRmYS12YXItZXllLFxuICBcImZhY2Utc2FkLWNyeVwiOiAkZmEtdmFyLWZhY2Utc2FkLWNyeSxcbiAgXCJzYWQtY3J5XCI6ICRmYS12YXItc2FkLWNyeSxcbiAgXCJhdWRpby1kZXNjcmlwdGlvblwiOiAkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uLFxuICBcInBlcnNvbi1taWxpdGFyeS10by1wZXJzb25cIjogJGZhLXZhci1wZXJzb24tbWlsaXRhcnktdG8tcGVyc29uLFxuICBcImZpbGUtc2hpZWxkXCI6ICRmYS12YXItZmlsZS1zaGllbGQsXG4gIFwidXNlci1zbGFzaFwiOiAkZmEtdmFyLXVzZXItc2xhc2gsXG4gIFwicGVuXCI6ICRmYS12YXItcGVuLFxuICBcInRvd2VyLW9ic2VydmF0aW9uXCI6ICRmYS12YXItdG93ZXItb2JzZXJ2YXRpb24sXG4gIFwiZmlsZS1jb2RlXCI6ICRmYS12YXItZmlsZS1jb2RlLFxuICBcInNpZ25hbFwiOiAkZmEtdmFyLXNpZ25hbCxcbiAgXCJzaWduYWwtNVwiOiAkZmEtdmFyLXNpZ25hbC01LFxuICBcInNpZ25hbC1wZXJmZWN0XCI6ICRmYS12YXItc2lnbmFsLXBlcmZlY3QsXG4gIFwiYnVzXCI6ICRmYS12YXItYnVzLFxuICBcImhlYXJ0LWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS14bWFyayxcbiAgXCJob3VzZS1jaGltbmV5XCI6ICRmYS12YXItaG91c2UtY2hpbW5leSxcbiAgXCJob21lLWxnXCI6ICRmYS12YXItaG9tZS1sZyxcbiAgXCJ3aW5kb3ctbWF4aW1pemVcIjogJGZhLXZhci13aW5kb3ctbWF4aW1pemUsXG4gIFwiZmFjZS1mcm93blwiOiAkZmEtdmFyLWZhY2UtZnJvd24sXG4gIFwiZnJvd25cIjogJGZhLXZhci1mcm93bixcbiAgXCJwcmVzY3JpcHRpb25cIjogJGZhLXZhci1wcmVzY3JpcHRpb24sXG4gIFwic2hvcFwiOiAkZmEtdmFyLXNob3AsXG4gIFwic3RvcmUtYWx0XCI6ICRmYS12YXItc3RvcmUtYWx0LFxuICBcImZsb3BweS1kaXNrXCI6ICRmYS12YXItZmxvcHB5LWRpc2ssXG4gIFwic2F2ZVwiOiAkZmEtdmFyLXNhdmUsXG4gIFwidmloYXJhXCI6ICRmYS12YXItdmloYXJhLFxuICBcInNjYWxlLXVuYmFsYW5jZWRcIjogJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkLFxuICBcImJhbGFuY2Utc2NhbGUtbGVmdFwiOiAkZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdCxcbiAgXCJzb3J0LXVwXCI6ICRmYS12YXItc29ydC11cCxcbiAgXCJzb3J0LWFzY1wiOiAkZmEtdmFyLXNvcnQtYXNjLFxuICBcImNvbW1lbnQtZG90c1wiOiAkZmEtdmFyLWNvbW1lbnQtZG90cyxcbiAgXCJjb21tZW50aW5nXCI6ICRmYS12YXItY29tbWVudGluZyxcbiAgXCJwbGFudC13aWx0XCI6ICRmYS12YXItcGxhbnQtd2lsdCxcbiAgXCJkaWFtb25kXCI6ICRmYS12YXItZGlhbW9uZCxcbiAgXCJmYWNlLWdyaW4tc3F1aW50XCI6ICRmYS12YXItZmFjZS1ncmluLXNxdWludCxcbiAgXCJncmluLXNxdWludFwiOiAkZmEtdmFyLWdyaW4tc3F1aW50LFxuICBcImhhbmQtaG9sZGluZy1kb2xsYXJcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctZG9sbGFyLFxuICBcImhhbmQtaG9sZGluZy11c2RcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkLFxuICBcImJhY3Rlcml1bVwiOiAkZmEtdmFyLWJhY3Rlcml1bSxcbiAgXCJoYW5kLXBvaW50ZXJcIjogJGZhLXZhci1oYW5kLXBvaW50ZXIsXG4gIFwiZHJ1bS1zdGVlbHBhblwiOiAkZmEtdmFyLWRydW0tc3RlZWxwYW4sXG4gIFwiaGFuZC1zY2lzc29yc1wiOiAkZmEtdmFyLWhhbmQtc2Npc3NvcnMsXG4gIFwiaGFuZHMtcHJheWluZ1wiOiAkZmEtdmFyLWhhbmRzLXByYXlpbmcsXG4gIFwicHJheWluZy1oYW5kc1wiOiAkZmEtdmFyLXByYXlpbmctaGFuZHMsXG4gIFwiYXJyb3ctcm90YXRlLXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctcm90YXRlLXJpZ2h0LFxuICBcImFycm93LXJpZ2h0LXJvdGF0ZVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXJvdGF0ZSxcbiAgXCJhcnJvdy1yb3RhdGUtZm9yd2FyZFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1mb3J3YXJkLFxuICBcInJlZG9cIjogJGZhLXZhci1yZWRvLFxuICBcImJpb2hhemFyZFwiOiAkZmEtdmFyLWJpb2hhemFyZCxcbiAgXCJsb2NhdGlvbi1jcm9zc2hhaXJzXCI6ICRmYS12YXItbG9jYXRpb24tY3Jvc3NoYWlycyxcbiAgXCJsb2NhdGlvblwiOiAkZmEtdmFyLWxvY2F0aW9uLFxuICBcIm1hcnMtZG91YmxlXCI6ICRmYS12YXItbWFycy1kb3VibGUsXG4gIFwiY2hpbGQtZHJlc3NcIjogJGZhLXZhci1jaGlsZC1kcmVzcyxcbiAgXCJ1c2Vycy1iZXR3ZWVuLWxpbmVzXCI6ICRmYS12YXItdXNlcnMtYmV0d2Vlbi1saW5lcyxcbiAgXCJsdW5ncy12aXJ1c1wiOiAkZmEtdmFyLWx1bmdzLXZpcnVzLFxuICBcImZhY2UtZ3Jpbi10ZWFyc1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10ZWFycyxcbiAgXCJncmluLXRlYXJzXCI6ICRmYS12YXItZ3Jpbi10ZWFycyxcbiAgXCJwaG9uZVwiOiAkZmEtdmFyLXBob25lLFxuICBcImNhbGVuZGFyLXhtYXJrXCI6ICRmYS12YXItY2FsZW5kYXIteG1hcmssXG4gIFwiY2FsZW5kYXItdGltZXNcIjogJGZhLXZhci1jYWxlbmRhci10aW1lcyxcbiAgXCJjaGlsZC1yZWFjaGluZ1wiOiAkZmEtdmFyLWNoaWxkLXJlYWNoaW5nLFxuICBcImhlYWQtc2lkZS12aXJ1c1wiOiAkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyxcbiAgXCJ1c2VyLWdlYXJcIjogJGZhLXZhci11c2VyLWdlYXIsXG4gIFwidXNlci1jb2dcIjogJGZhLXZhci11c2VyLWNvZyxcbiAgXCJhcnJvdy11cC0xLTlcIjogJGZhLXZhci1hcnJvdy11cC0xLTksXG4gIFwic29ydC1udW1lcmljLXVwXCI6ICRmYS12YXItc29ydC1udW1lcmljLXVwLFxuICBcImRvb3ItY2xvc2VkXCI6ICRmYS12YXItZG9vci1jbG9zZWQsXG4gIFwic2hpZWxkLXZpcnVzXCI6ICRmYS12YXItc2hpZWxkLXZpcnVzLFxuICBcImRpY2Utc2l4XCI6ICRmYS12YXItZGljZS1zaXgsXG4gIFwibW9zcXVpdG8tbmV0XCI6ICRmYS12YXItbW9zcXVpdG8tbmV0LFxuICBcImJyaWRnZS13YXRlclwiOiAkZmEtdmFyLWJyaWRnZS13YXRlcixcbiAgXCJwZXJzb24tYm9vdGhcIjogJGZhLXZhci1wZXJzb24tYm9vdGgsXG4gIFwidGV4dC13aWR0aFwiOiAkZmEtdmFyLXRleHQtd2lkdGgsXG4gIFwiaGF0LXdpemFyZFwiOiAkZmEtdmFyLWhhdC13aXphcmQsXG4gIFwicGVuLWZhbmN5XCI6ICRmYS12YXItcGVuLWZhbmN5LFxuICBcInBlcnNvbi1kaWdnaW5nXCI6ICRmYS12YXItcGVyc29uLWRpZ2dpbmcsXG4gIFwiZGlnZ2luZ1wiOiAkZmEtdmFyLWRpZ2dpbmcsXG4gIFwidHJhc2hcIjogJGZhLXZhci10cmFzaCxcbiAgXCJnYXVnZS1zaW1wbGVcIjogJGZhLXZhci1nYXVnZS1zaW1wbGUsXG4gIFwiZ2F1Z2Utc2ltcGxlLW1lZFwiOiAkZmEtdmFyLWdhdWdlLXNpbXBsZS1tZWQsXG4gIFwidGFjaG9tZXRlci1hdmVyYWdlXCI6ICRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlLFxuICBcImJvb2stbWVkaWNhbFwiOiAkZmEtdmFyLWJvb2stbWVkaWNhbCxcbiAgXCJwb29cIjogJGZhLXZhci1wb28sXG4gIFwicXVvdGUtcmlnaHRcIjogJGZhLXZhci1xdW90ZS1yaWdodCxcbiAgXCJxdW90ZS1yaWdodC1hbHRcIjogJGZhLXZhci1xdW90ZS1yaWdodC1hbHQsXG4gIFwic2hpcnRcIjogJGZhLXZhci1zaGlydCxcbiAgXCJ0LXNoaXJ0XCI6ICRmYS12YXItdC1zaGlydCxcbiAgXCJ0c2hpcnRcIjogJGZhLXZhci10c2hpcnQsXG4gIFwiY3ViZXNcIjogJGZhLXZhci1jdWJlcyxcbiAgXCJkaXZpZGVcIjogJGZhLXZhci1kaXZpZGUsXG4gIFwidGVuZ2Utc2lnblwiOiAkZmEtdmFyLXRlbmdlLXNpZ24sXG4gIFwidGVuZ2VcIjogJGZhLXZhci10ZW5nZSxcbiAgXCJoZWFkcGhvbmVzXCI6ICRmYS12YXItaGVhZHBob25lcyxcbiAgXCJoYW5kcy1ob2xkaW5nXCI6ICRmYS12YXItaGFuZHMtaG9sZGluZyxcbiAgXCJoYW5kcy1jbGFwcGluZ1wiOiAkZmEtdmFyLWhhbmRzLWNsYXBwaW5nLFxuICBcInJlcHVibGljYW5cIjogJGZhLXZhci1yZXB1YmxpY2FuLFxuICBcImFycm93LWxlZnRcIjogJGZhLXZhci1hcnJvdy1sZWZ0LFxuICBcInBlcnNvbi1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLXhtYXJrLFxuICBcInJ1bGVyXCI6ICRmYS12YXItcnVsZXIsXG4gIFwiYWxpZ24tbGVmdFwiOiAkZmEtdmFyLWFsaWduLWxlZnQsXG4gIFwiZGljZS1kNlwiOiAkZmEtdmFyLWRpY2UtZDYsXG4gIFwicmVzdHJvb21cIjogJGZhLXZhci1yZXN0cm9vbSxcbiAgXCJqXCI6ICRmYS12YXItaixcbiAgXCJ1c2Vycy12aWV3ZmluZGVyXCI6ICRmYS12YXItdXNlcnMtdmlld2ZpbmRlcixcbiAgXCJmaWxlLXZpZGVvXCI6ICRmYS12YXItZmlsZS12aWRlbyxcbiAgXCJ1cC1yaWdodC1mcm9tLXNxdWFyZVwiOiAkZmEtdmFyLXVwLXJpZ2h0LWZyb20tc3F1YXJlLFxuICBcImV4dGVybmFsLWxpbmstYWx0XCI6ICRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQsXG4gIFwidGFibGUtY2VsbHNcIjogJGZhLXZhci10YWJsZS1jZWxscyxcbiAgXCJ0aFwiOiAkZmEtdmFyLXRoLFxuICBcImZpbGUtcGRmXCI6ICRmYS12YXItZmlsZS1wZGYsXG4gIFwiYm9vay1iaWJsZVwiOiAkZmEtdmFyLWJvb2stYmlibGUsXG4gIFwiYmlibGVcIjogJGZhLXZhci1iaWJsZSxcbiAgXCJvXCI6ICRmYS12YXItbyxcbiAgXCJzdWl0Y2FzZS1tZWRpY2FsXCI6ICRmYS12YXItc3VpdGNhc2UtbWVkaWNhbCxcbiAgXCJtZWRraXRcIjogJGZhLXZhci1tZWRraXQsXG4gIFwidXNlci1zZWNyZXRcIjogJGZhLXZhci11c2VyLXNlY3JldCxcbiAgXCJvdHRlclwiOiAkZmEtdmFyLW90dGVyLFxuICBcInBlcnNvbi1kcmVzc1wiOiAkZmEtdmFyLXBlcnNvbi1kcmVzcyxcbiAgXCJmZW1hbGVcIjogJGZhLXZhci1mZW1hbGUsXG4gIFwiY29tbWVudC1kb2xsYXJcIjogJGZhLXZhci1jb21tZW50LWRvbGxhcixcbiAgXCJidXNpbmVzcy10aW1lXCI6ICRmYS12YXItYnVzaW5lc3MtdGltZSxcbiAgXCJicmllZmNhc2UtY2xvY2tcIjogJGZhLXZhci1icmllZmNhc2UtY2xvY2ssXG4gIFwidGFibGUtY2VsbHMtbGFyZ2VcIjogJGZhLXZhci10YWJsZS1jZWxscy1sYXJnZSxcbiAgXCJ0aC1sYXJnZVwiOiAkZmEtdmFyLXRoLWxhcmdlLFxuICBcImJvb2stdGFuYWtoXCI6ICRmYS12YXItYm9vay10YW5ha2gsXG4gIFwidGFuYWtoXCI6ICRmYS12YXItdGFuYWtoLFxuICBcInBob25lLXZvbHVtZVwiOiAkZmEtdmFyLXBob25lLXZvbHVtZSxcbiAgXCJ2b2x1bWUtY29udHJvbC1waG9uZVwiOiAkZmEtdmFyLXZvbHVtZS1jb250cm9sLXBob25lLFxuICBcImhhdC1jb3dib3ktc2lkZVwiOiAkZmEtdmFyLWhhdC1jb3dib3ktc2lkZSxcbiAgXCJjbGlwYm9hcmQtdXNlclwiOiAkZmEtdmFyLWNsaXBib2FyZC11c2VyLFxuICBcImNoaWxkXCI6ICRmYS12YXItY2hpbGQsXG4gIFwibGlyYS1zaWduXCI6ICRmYS12YXItbGlyYS1zaWduLFxuICBcInNhdGVsbGl0ZVwiOiAkZmEtdmFyLXNhdGVsbGl0ZSxcbiAgXCJwbGFuZS1sb2NrXCI6ICRmYS12YXItcGxhbmUtbG9jayxcbiAgXCJ0YWdcIjogJGZhLXZhci10YWcsXG4gIFwiY29tbWVudFwiOiAkZmEtdmFyLWNvbW1lbnQsXG4gIFwiY2FrZS1jYW5kbGVzXCI6ICRmYS12YXItY2FrZS1jYW5kbGVzLFxuICBcImJpcnRoZGF5LWNha2VcIjogJGZhLXZhci1iaXJ0aGRheS1jYWtlLFxuICBcImNha2VcIjogJGZhLXZhci1jYWtlLFxuICBcImVudmVsb3BlXCI6ICRmYS12YXItZW52ZWxvcGUsXG4gIFwiYW5nbGVzLXVwXCI6ICRmYS12YXItYW5nbGVzLXVwLFxuICBcImFuZ2xlLWRvdWJsZS11cFwiOiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS11cCxcbiAgXCJwYXBlcmNsaXBcIjogJGZhLXZhci1wYXBlcmNsaXAsXG4gIFwiYXJyb3ctcmlnaHQtdG8tY2l0eVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LXRvLWNpdHksXG4gIFwicmliYm9uXCI6ICRmYS12YXItcmliYm9uLFxuICBcImx1bmdzXCI6ICRmYS12YXItbHVuZ3MsXG4gIFwiYXJyb3ctdXAtOS0xXCI6ICRmYS12YXItYXJyb3ctdXAtOS0xLFxuICBcInNvcnQtbnVtZXJpYy11cC1hbHRcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtdXAtYWx0LFxuICBcImxpdGVjb2luLXNpZ25cIjogJGZhLXZhci1saXRlY29pbi1zaWduLFxuICBcImJvcmRlci1ub25lXCI6ICRmYS12YXItYm9yZGVyLW5vbmUsXG4gIFwiY2lyY2xlLW5vZGVzXCI6ICRmYS12YXItY2lyY2xlLW5vZGVzLFxuICBcInBhcmFjaHV0ZS1ib3hcIjogJGZhLXZhci1wYXJhY2h1dGUtYm94LFxuICBcImluZGVudFwiOiAkZmEtdmFyLWluZGVudCxcbiAgXCJ0cnVjay1maWVsZC11blwiOiAkZmEtdmFyLXRydWNrLWZpZWxkLXVuLFxuICBcImhvdXJnbGFzc1wiOiAkZmEtdmFyLWhvdXJnbGFzcyxcbiAgXCJob3VyZ2xhc3MtZW1wdHlcIjogJGZhLXZhci1ob3VyZ2xhc3MtZW1wdHksXG4gIFwibW91bnRhaW5cIjogJGZhLXZhci1tb3VudGFpbixcbiAgXCJ1c2VyLWRvY3RvclwiOiAkZmEtdmFyLXVzZXItZG9jdG9yLFxuICBcInVzZXItbWRcIjogJGZhLXZhci11c2VyLW1kLFxuICBcImNpcmNsZS1pbmZvXCI6ICRmYS12YXItY2lyY2xlLWluZm8sXG4gIFwiaW5mby1jaXJjbGVcIjogJGZhLXZhci1pbmZvLWNpcmNsZSxcbiAgXCJjbG91ZC1tZWF0YmFsbFwiOiAkZmEtdmFyLWNsb3VkLW1lYXRiYWxsLFxuICBcImNhbWVyYVwiOiAkZmEtdmFyLWNhbWVyYSxcbiAgXCJjYW1lcmEtYWx0XCI6ICRmYS12YXItY2FtZXJhLWFsdCxcbiAgXCJzcXVhcmUtdmlydXNcIjogJGZhLXZhci1zcXVhcmUtdmlydXMsXG4gIFwibWV0ZW9yXCI6ICRmYS12YXItbWV0ZW9yLFxuICBcImNhci1vblwiOiAkZmEtdmFyLWNhci1vbixcbiAgXCJzbGVpZ2hcIjogJGZhLXZhci1zbGVpZ2gsXG4gIFwiYXJyb3ctZG93bi0xLTlcIjogJGZhLXZhci1hcnJvdy1kb3duLTEtOSxcbiAgXCJzb3J0LW51bWVyaWMtYXNjXCI6ICRmYS12YXItc29ydC1udW1lcmljLWFzYyxcbiAgXCJzb3J0LW51bWVyaWMtZG93blwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLFxuICBcImhhbmQtaG9sZGluZy1kcm9wbGV0XCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLWRyb3BsZXQsXG4gIFwiaGFuZC1ob2xkaW5nLXdhdGVyXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyLFxuICBcIndhdGVyXCI6ICRmYS12YXItd2F0ZXIsXG4gIFwiY2FsZW5kYXItY2hlY2tcIjogJGZhLXZhci1jYWxlbmRhci1jaGVjayxcbiAgXCJicmFpbGxlXCI6ICRmYS12YXItYnJhaWxsZSxcbiAgXCJwcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWxcIjogJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLW1lZGljYWwsXG4gIFwicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHRcIjogJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdCxcbiAgXCJsYW5kbWFya1wiOiAkZmEtdmFyLWxhbmRtYXJrLFxuICBcInRydWNrXCI6ICRmYS12YXItdHJ1Y2ssXG4gIFwiY3Jvc3NoYWlyc1wiOiAkZmEtdmFyLWNyb3NzaGFpcnMsXG4gIFwicGVyc29uLWNhbmVcIjogJGZhLXZhci1wZXJzb24tY2FuZSxcbiAgXCJ0ZW50XCI6ICRmYS12YXItdGVudCxcbiAgXCJ2ZXN0LXBhdGNoZXNcIjogJGZhLXZhci12ZXN0LXBhdGNoZXMsXG4gIFwiY2hlY2stZG91YmxlXCI6ICRmYS12YXItY2hlY2stZG91YmxlLFxuICBcImFycm93LWRvd24tYS16XCI6ICRmYS12YXItYXJyb3ctZG93bi1hLXosXG4gIFwic29ydC1hbHBoYS1hc2NcIjogJGZhLXZhci1zb3J0LWFscGhhLWFzYyxcbiAgXCJzb3J0LWFscGhhLWRvd25cIjogJGZhLXZhci1zb3J0LWFscGhhLWRvd24sXG4gIFwibW9uZXktYmlsbC13aGVhdFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtd2hlYXQsXG4gIFwiY29va2llXCI6ICRmYS12YXItY29va2llLFxuICBcImFycm93LXJvdGF0ZS1sZWZ0XCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWxlZnQsXG4gIFwiYXJyb3ctbGVmdC1yb3RhdGVcIjogJGZhLXZhci1hcnJvdy1sZWZ0LXJvdGF0ZSxcbiAgXCJhcnJvdy1yb3RhdGUtYmFja1wiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrLFxuICBcImFycm93LXJvdGF0ZS1iYWNrd2FyZFwiOiAkZmEtdmFyLWFycm93LXJvdGF0ZS1iYWNrd2FyZCxcbiAgXCJ1bmRvXCI6ICRmYS12YXItdW5kbyxcbiAgXCJoYXJkLWRyaXZlXCI6ICRmYS12YXItaGFyZC1kcml2ZSxcbiAgXCJoZGRcIjogJGZhLXZhci1oZGQsXG4gIFwiZmFjZS1ncmluLXNxdWludC10ZWFyc1wiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMsXG4gIFwiZ3Jpbi1zcXVpbnQtdGVhcnNcIjogJGZhLXZhci1ncmluLXNxdWludC10ZWFycyxcbiAgXCJkdW1iYmVsbFwiOiAkZmEtdmFyLWR1bWJiZWxsLFxuICBcInJlY3RhbmdsZS1saXN0XCI6ICRmYS12YXItcmVjdGFuZ2xlLWxpc3QsXG4gIFwibGlzdC1hbHRcIjogJGZhLXZhci1saXN0LWFsdCxcbiAgXCJ0YXJwLWRyb3BsZXRcIjogJGZhLXZhci10YXJwLWRyb3BsZXQsXG4gIFwiaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVjayxcbiAgXCJwZXJzb24tc2tpaW5nLW5vcmRpY1wiOiAkZmEtdmFyLXBlcnNvbi1za2lpbmctbm9yZGljLFxuICBcInNraWluZy1ub3JkaWNcIjogJGZhLXZhci1za2lpbmctbm9yZGljLFxuICBcImNhbGVuZGFyLXBsdXNcIjogJGZhLXZhci1jYWxlbmRhci1wbHVzLFxuICBcInBsYW5lLWFycml2YWxcIjogJGZhLXZhci1wbGFuZS1hcnJpdmFsLFxuICBcImNpcmNsZS1sZWZ0XCI6ICRmYS12YXItY2lyY2xlLWxlZnQsXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0LFxuICBcInRyYWluLXN1YndheVwiOiAkZmEtdmFyLXRyYWluLXN1YndheSxcbiAgXCJzdWJ3YXlcIjogJGZhLXZhci1zdWJ3YXksXG4gIFwiY2hhcnQtZ2FudHRcIjogJGZhLXZhci1jaGFydC1nYW50dCxcbiAgXCJpbmRpYW4tcnVwZWUtc2lnblwiOiAkZmEtdmFyLWluZGlhbi1ydXBlZS1zaWduLFxuICBcImluZGlhbi1ydXBlZVwiOiAkZmEtdmFyLWluZGlhbi1ydXBlZSxcbiAgXCJpbnJcIjogJGZhLXZhci1pbnIsXG4gIFwiY3JvcC1zaW1wbGVcIjogJGZhLXZhci1jcm9wLXNpbXBsZSxcbiAgXCJjcm9wLWFsdFwiOiAkZmEtdmFyLWNyb3AtYWx0LFxuICBcIm1vbmV5LWJpbGwtMVwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtMSxcbiAgXCJtb25leS1iaWxsLWFsdFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtYWx0LFxuICBcImxlZnQtbG9uZ1wiOiAkZmEtdmFyLWxlZnQtbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC1sZWZ0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCxcbiAgXCJkbmFcIjogJGZhLXZhci1kbmEsXG4gIFwidmlydXMtc2xhc2hcIjogJGZhLXZhci12aXJ1cy1zbGFzaCxcbiAgXCJtaW51c1wiOiAkZmEtdmFyLW1pbnVzLFxuICBcInN1YnRyYWN0XCI6ICRmYS12YXItc3VidHJhY3QsXG4gIFwiY2hlc3NcIjogJGZhLXZhci1jaGVzcyxcbiAgXCJhcnJvdy1sZWZ0LWxvbmdcIjogJGZhLXZhci1hcnJvdy1sZWZ0LWxvbmcsXG4gIFwibG9uZy1hcnJvdy1sZWZ0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1sZWZ0LFxuICBcInBsdWctY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtY2hlY2ssXG4gIFwic3RyZWV0LXZpZXdcIjogJGZhLXZhci1zdHJlZXQtdmlldyxcbiAgXCJmcmFuYy1zaWduXCI6ICRmYS12YXItZnJhbmMtc2lnbixcbiAgXCJ2b2x1bWUtb2ZmXCI6ICRmYS12YXItdm9sdW1lLW9mZixcbiAgXCJoYW5kcy1hc2wtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItaGFuZHMtYXNsLWludGVycHJldGluZyxcbiAgXCJhbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nLFxuICBcImFzbC1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nLFxuICBcImhhbmRzLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcsXG4gIFwiZ2VhclwiOiAkZmEtdmFyLWdlYXIsXG4gIFwiY29nXCI6ICRmYS12YXItY29nLFxuICBcImRyb3BsZXQtc2xhc2hcIjogJGZhLXZhci1kcm9wbGV0LXNsYXNoLFxuICBcInRpbnQtc2xhc2hcIjogJGZhLXZhci10aW50LXNsYXNoLFxuICBcIm1vc3F1ZVwiOiAkZmEtdmFyLW1vc3F1ZSxcbiAgXCJtb3NxdWl0b1wiOiAkZmEtdmFyLW1vc3F1aXRvLFxuICBcInN0YXItb2YtZGF2aWRcIjogJGZhLXZhci1zdGFyLW9mLWRhdmlkLFxuICBcInBlcnNvbi1taWxpdGFyeS1yaWZsZVwiOiAkZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1yaWZsZSxcbiAgXCJjYXJ0LXNob3BwaW5nXCI6ICRmYS12YXItY2FydC1zaG9wcGluZyxcbiAgXCJzaG9wcGluZy1jYXJ0XCI6ICRmYS12YXItc2hvcHBpbmctY2FydCxcbiAgXCJ2aWFsc1wiOiAkZmEtdmFyLXZpYWxzLFxuICBcInBsdWctY2lyY2xlLXBsdXNcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1wbHVzLFxuICBcInBsYWNlLW9mLXdvcnNoaXBcIjogJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwLFxuICBcImdyaXAtdmVydGljYWxcIjogJGZhLXZhci1ncmlwLXZlcnRpY2FsLFxuICBcImFycm93LXR1cm4tdXBcIjogJGZhLXZhci1hcnJvdy10dXJuLXVwLFxuICBcImxldmVsLXVwXCI6ICRmYS12YXItbGV2ZWwtdXAsXG4gIFwidVwiOiAkZmEtdmFyLXUsXG4gIFwic3F1YXJlLXJvb3QtdmFyaWFibGVcIjogJGZhLXZhci1zcXVhcmUtcm9vdC12YXJpYWJsZSxcbiAgXCJzcXVhcmUtcm9vdC1hbHRcIjogJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQsXG4gIFwiY2xvY2tcIjogJGZhLXZhci1jbG9jayxcbiAgXCJjbG9jay1mb3VyXCI6ICRmYS12YXItY2xvY2stZm91cixcbiAgXCJiYWNrd2FyZC1zdGVwXCI6ICRmYS12YXItYmFja3dhcmQtc3RlcCxcbiAgXCJzdGVwLWJhY2t3YXJkXCI6ICRmYS12YXItc3RlcC1iYWNrd2FyZCxcbiAgXCJwYWxsZXRcIjogJGZhLXZhci1wYWxsZXQsXG4gIFwiZmF1Y2V0XCI6ICRmYS12YXItZmF1Y2V0LFxuICBcImJhc2ViYWxsLWJhdC1iYWxsXCI6ICRmYS12YXItYmFzZWJhbGwtYmF0LWJhbGwsXG4gIFwic1wiOiAkZmEtdmFyLXMsXG4gIFwidGltZWxpbmVcIjogJGZhLXZhci10aW1lbGluZSxcbiAgXCJrZXlib2FyZFwiOiAkZmEtdmFyLWtleWJvYXJkLFxuICBcImNhcmV0LWRvd25cIjogJGZhLXZhci1jYXJldC1kb3duLFxuICBcImhvdXNlLWNoaW1uZXktbWVkaWNhbFwiOiAkZmEtdmFyLWhvdXNlLWNoaW1uZXktbWVkaWNhbCxcbiAgXCJjbGluaWMtbWVkaWNhbFwiOiAkZmEtdmFyLWNsaW5pYy1tZWRpY2FsLFxuICBcInRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnMsXG4gIFwidGVtcGVyYXR1cmUtM1wiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLTMsXG4gIFwidGhlcm1vbWV0ZXItM1wiOiAkZmEtdmFyLXRoZXJtb21ldGVyLTMsXG4gIFwidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnNcIjogJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVycyxcbiAgXCJtb2JpbGUtc2NyZWVuXCI6ICRmYS12YXItbW9iaWxlLXNjcmVlbixcbiAgXCJtb2JpbGUtYW5kcm9pZC1hbHRcIjogJGZhLXZhci1tb2JpbGUtYW5kcm9pZC1hbHQsXG4gIFwicGxhbmUtdXBcIjogJGZhLXZhci1wbGFuZS11cCxcbiAgXCJwaWdneS1iYW5rXCI6ICRmYS12YXItcGlnZ3ktYmFuayxcbiAgXCJiYXR0ZXJ5LWhhbGZcIjogJGZhLXZhci1iYXR0ZXJ5LWhhbGYsXG4gIFwiYmF0dGVyeS0zXCI6ICRmYS12YXItYmF0dGVyeS0zLFxuICBcIm1vdW50YWluLWNpdHlcIjogJGZhLXZhci1tb3VudGFpbi1jaXR5LFxuICBcImNvaW5zXCI6ICRmYS12YXItY29pbnMsXG4gIFwia2hhbmRhXCI6ICRmYS12YXIta2hhbmRhLFxuICBcInNsaWRlcnNcIjogJGZhLXZhci1zbGlkZXJzLFxuICBcInNsaWRlcnMtaFwiOiAkZmEtdmFyLXNsaWRlcnMtaCxcbiAgXCJmb2xkZXItdHJlZVwiOiAkZmEtdmFyLWZvbGRlci10cmVlLFxuICBcIm5ldHdvcmstd2lyZWRcIjogJGZhLXZhci1uZXR3b3JrLXdpcmVkLFxuICBcIm1hcC1waW5cIjogJGZhLXZhci1tYXAtcGluLFxuICBcImhhbXNhXCI6ICRmYS12YXItaGFtc2EsXG4gIFwiY2VudC1zaWduXCI6ICRmYS12YXItY2VudC1zaWduLFxuICBcImZsYXNrXCI6ICRmYS12YXItZmxhc2ssXG4gIFwicGVyc29uLXByZWduYW50XCI6ICRmYS12YXItcGVyc29uLXByZWduYW50LFxuICBcIndhbmQtc3BhcmtsZXNcIjogJGZhLXZhci13YW5kLXNwYXJrbGVzLFxuICBcImVsbGlwc2lzLXZlcnRpY2FsXCI6ICRmYS12YXItZWxsaXBzaXMtdmVydGljYWwsXG4gIFwiZWxsaXBzaXMtdlwiOiAkZmEtdmFyLWVsbGlwc2lzLXYsXG4gIFwidGlja2V0XCI6ICRmYS12YXItdGlja2V0LFxuICBcInBvd2VyLW9mZlwiOiAkZmEtdmFyLXBvd2VyLW9mZixcbiAgXCJyaWdodC1sb25nXCI6ICRmYS12YXItcmlnaHQtbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC1yaWdodFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0LFxuICBcImZsYWctdXNhXCI6ICRmYS12YXItZmxhZy11c2EsXG4gIFwibGFwdG9wLWZpbGVcIjogJGZhLXZhci1sYXB0b3AtZmlsZSxcbiAgXCJ0dHlcIjogJGZhLXZhci10dHksXG4gIFwidGVsZXR5cGVcIjogJGZhLXZhci10ZWxldHlwZSxcbiAgXCJkaWFncmFtLW5leHRcIjogJGZhLXZhci1kaWFncmFtLW5leHQsXG4gIFwicGVyc29uLXJpZmxlXCI6ICRmYS12YXItcGVyc29uLXJpZmxlLFxuICBcImhvdXNlLW1lZGljYWwtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY2xvc2VkLWNhcHRpb25pbmdcIjogJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZyxcbiAgXCJwZXJzb24taGlraW5nXCI6ICRmYS12YXItcGVyc29uLWhpa2luZyxcbiAgXCJoaWtpbmdcIjogJGZhLXZhci1oaWtpbmcsXG4gIFwidmVudXMtZG91YmxlXCI6ICRmYS12YXItdmVudXMtZG91YmxlLFxuICBcImltYWdlc1wiOiAkZmEtdmFyLWltYWdlcyxcbiAgXCJjYWxjdWxhdG9yXCI6ICRmYS12YXItY2FsY3VsYXRvcixcbiAgXCJwZW9wbGUtcHVsbGluZ1wiOiAkZmEtdmFyLXBlb3BsZS1wdWxsaW5nLFxuICBcIm5cIjogJGZhLXZhci1uLFxuICBcImNhYmxlLWNhclwiOiAkZmEtdmFyLWNhYmxlLWNhcixcbiAgXCJ0cmFtXCI6ICRmYS12YXItdHJhbSxcbiAgXCJjbG91ZC1yYWluXCI6ICRmYS12YXItY2xvdWQtcmFpbixcbiAgXCJidWlsZGluZy1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUteG1hcmssXG4gIFwic2hpcFwiOiAkZmEtdmFyLXNoaXAsXG4gIFwiYXJyb3dzLWRvd24tdG8tbGluZVwiOiAkZmEtdmFyLWFycm93cy1kb3duLXRvLWxpbmUsXG4gIFwiZG93bmxvYWRcIjogJGZhLXZhci1kb3dubG9hZCxcbiAgXCJmYWNlLWdyaW5cIjogJGZhLXZhci1mYWNlLWdyaW4sXG4gIFwiZ3JpblwiOiAkZmEtdmFyLWdyaW4sXG4gIFwiZGVsZXRlLWxlZnRcIjogJGZhLXZhci1kZWxldGUtbGVmdCxcbiAgXCJiYWNrc3BhY2VcIjogJGZhLXZhci1iYWNrc3BhY2UsXG4gIFwiZXllLWRyb3BwZXJcIjogJGZhLXZhci1leWUtZHJvcHBlcixcbiAgXCJleWUtZHJvcHBlci1lbXB0eVwiOiAkZmEtdmFyLWV5ZS1kcm9wcGVyLWVtcHR5LFxuICBcImV5ZWRyb3BwZXJcIjogJGZhLXZhci1leWVkcm9wcGVyLFxuICBcImZpbGUtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtY2hlY2ssXG4gIFwiZm9yd2FyZFwiOiAkZmEtdmFyLWZvcndhcmQsXG4gIFwibW9iaWxlXCI6ICRmYS12YXItbW9iaWxlLFxuICBcIm1vYmlsZS1hbmRyb2lkXCI6ICRmYS12YXItbW9iaWxlLWFuZHJvaWQsXG4gIFwibW9iaWxlLXBob25lXCI6ICRmYS12YXItbW9iaWxlLXBob25lLFxuICBcImZhY2UtbWVoXCI6ICRmYS12YXItZmFjZS1tZWgsXG4gIFwibWVoXCI6ICRmYS12YXItbWVoLFxuICBcImFsaWduLWNlbnRlclwiOiAkZmEtdmFyLWFsaWduLWNlbnRlcixcbiAgXCJib29rLXNrdWxsXCI6ICRmYS12YXItYm9vay1za3VsbCxcbiAgXCJib29rLWRlYWRcIjogJGZhLXZhci1ib29rLWRlYWQsXG4gIFwiaWQtY2FyZFwiOiAkZmEtdmFyLWlkLWNhcmQsXG4gIFwiZHJpdmVycy1saWNlbnNlXCI6ICRmYS12YXItZHJpdmVycy1saWNlbnNlLFxuICBcIm91dGRlbnRcIjogJGZhLXZhci1vdXRkZW50LFxuICBcImRlZGVudFwiOiAkZmEtdmFyLWRlZGVudCxcbiAgXCJoZWFydC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1oZWFydC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiaG91c2VcIjogJGZhLXZhci1ob3VzZSxcbiAgXCJob21lXCI6ICRmYS12YXItaG9tZSxcbiAgXCJob21lLWFsdFwiOiAkZmEtdmFyLWhvbWUtYWx0LFxuICBcImhvbWUtbGctYWx0XCI6ICRmYS12YXItaG9tZS1sZy1hbHQsXG4gIFwiY2FsZW5kYXItd2Vla1wiOiAkZmEtdmFyLWNhbGVuZGFyLXdlZWssXG4gIFwibGFwdG9wLW1lZGljYWxcIjogJGZhLXZhci1sYXB0b3AtbWVkaWNhbCxcbiAgXCJiXCI6ICRmYS12YXItYixcbiAgXCJmaWxlLW1lZGljYWxcIjogJGZhLXZhci1maWxlLW1lZGljYWwsXG4gIFwiZGljZS1vbmVcIjogJGZhLXZhci1kaWNlLW9uZSxcbiAgXCJraXdpLWJpcmRcIjogJGZhLXZhci1raXdpLWJpcmQsXG4gIFwiYXJyb3ctcmlnaHQtYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWFycm93LWxlZnQsXG4gIFwiZXhjaGFuZ2VcIjogJGZhLXZhci1leGNoYW5nZSxcbiAgXCJyb3RhdGUtcmlnaHRcIjogJGZhLXZhci1yb3RhdGUtcmlnaHQsXG4gIFwicmVkby1hbHRcIjogJGZhLXZhci1yZWRvLWFsdCxcbiAgXCJyb3RhdGUtZm9yd2FyZFwiOiAkZmEtdmFyLXJvdGF0ZS1mb3J3YXJkLFxuICBcInV0ZW5zaWxzXCI6ICRmYS12YXItdXRlbnNpbHMsXG4gIFwiY3V0bGVyeVwiOiAkZmEtdmFyLWN1dGxlcnksXG4gIFwiYXJyb3ctdXAtd2lkZS1zaG9ydFwiOiAkZmEtdmFyLWFycm93LXVwLXdpZGUtc2hvcnQsXG4gIFwic29ydC1hbW91bnQtdXBcIjogJGZhLXZhci1zb3J0LWFtb3VudC11cCxcbiAgXCJtaWxsLXNpZ25cIjogJGZhLXZhci1taWxsLXNpZ24sXG4gIFwiYm93bC1yaWNlXCI6ICRmYS12YXItYm93bC1yaWNlLFxuICBcInNrdWxsXCI6ICRmYS12YXItc2t1bGwsXG4gIFwidG93ZXItYnJvYWRjYXN0XCI6ICRmYS12YXItdG93ZXItYnJvYWRjYXN0LFxuICBcImJyb2FkY2FzdC10b3dlclwiOiAkZmEtdmFyLWJyb2FkY2FzdC10b3dlcixcbiAgXCJ0cnVjay1waWNrdXBcIjogJGZhLXZhci10cnVjay1waWNrdXAsXG4gIFwidXAtbG9uZ1wiOiAkZmEtdmFyLXVwLWxvbmcsXG4gIFwibG9uZy1hcnJvdy1hbHQtdXBcIjogJGZhLXZhci1sb25nLWFycm93LWFsdC11cCxcbiAgXCJzdG9wXCI6ICRmYS12YXItc3RvcCxcbiAgXCJjb2RlLW1lcmdlXCI6ICRmYS12YXItY29kZS1tZXJnZSxcbiAgXCJ1cGxvYWRcIjogJGZhLXZhci11cGxvYWQsXG4gIFwiaHVycmljYW5lXCI6ICRmYS12YXItaHVycmljYW5lLFxuICBcIm1vdW5kXCI6ICRmYS12YXItbW91bmQsXG4gIFwidG9pbGV0LXBvcnRhYmxlXCI6ICRmYS12YXItdG9pbGV0LXBvcnRhYmxlLFxuICBcImNvbXBhY3QtZGlzY1wiOiAkZmEtdmFyLWNvbXBhY3QtZGlzYyxcbiAgXCJmaWxlLWFycm93LWRvd25cIjogJGZhLXZhci1maWxlLWFycm93LWRvd24sXG4gIFwiZmlsZS1kb3dubG9hZFwiOiAkZmEtdmFyLWZpbGUtZG93bmxvYWQsXG4gIFwiY2FyYXZhblwiOiAkZmEtdmFyLWNhcmF2YW4sXG4gIFwic2hpZWxkLWNhdFwiOiAkZmEtdmFyLXNoaWVsZC1jYXQsXG4gIFwiYm9sdFwiOiAkZmEtdmFyLWJvbHQsXG4gIFwiemFwXCI6ICRmYS12YXItemFwLFxuICBcImdsYXNzLXdhdGVyXCI6ICRmYS12YXItZ2xhc3Mtd2F0ZXIsXG4gIFwib2lsLXdlbGxcIjogJGZhLXZhci1vaWwtd2VsbCxcbiAgXCJ2YXVsdFwiOiAkZmEtdmFyLXZhdWx0LFxuICBcIm1hcnNcIjogJGZhLXZhci1tYXJzLFxuICBcInRvaWxldFwiOiAkZmEtdmFyLXRvaWxldCxcbiAgXCJwbGFuZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1wbGFuZS1jaXJjbGUteG1hcmssXG4gIFwieWVuLXNpZ25cIjogJGZhLXZhci15ZW4tc2lnbixcbiAgXCJjbnlcIjogJGZhLXZhci1jbnksXG4gIFwianB5XCI6ICRmYS12YXItanB5LFxuICBcInJtYlwiOiAkZmEtdmFyLXJtYixcbiAgXCJ5ZW5cIjogJGZhLXZhci15ZW4sXG4gIFwicnVibGUtc2lnblwiOiAkZmEtdmFyLXJ1YmxlLXNpZ24sXG4gIFwicm91YmxlXCI6ICRmYS12YXItcm91YmxlLFxuICBcInJ1YlwiOiAkZmEtdmFyLXJ1YixcbiAgXCJydWJsZVwiOiAkZmEtdmFyLXJ1YmxlLFxuICBcInN1blwiOiAkZmEtdmFyLXN1bixcbiAgXCJndWl0YXJcIjogJGZhLXZhci1ndWl0YXIsXG4gIFwiZmFjZS1sYXVnaC13aW5rXCI6ICRmYS12YXItZmFjZS1sYXVnaC13aW5rLFxuICBcImxhdWdoLXdpbmtcIjogJGZhLXZhci1sYXVnaC13aW5rLFxuICBcImhvcnNlLWhlYWRcIjogJGZhLXZhci1ob3JzZS1oZWFkLFxuICBcImJvcmUtaG9sZVwiOiAkZmEtdmFyLWJvcmUtaG9sZSxcbiAgXCJpbmR1c3RyeVwiOiAkZmEtdmFyLWluZHVzdHJ5LFxuICBcImNpcmNsZS1kb3duXCI6ICRmYS12YXItY2lyY2xlLWRvd24sXG4gIFwiYXJyb3ctYWx0LWNpcmNsZS1kb3duXCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duLFxuICBcImFycm93cy10dXJuLXRvLWRvdHNcIjogJGZhLXZhci1hcnJvd3MtdHVybi10by1kb3RzLFxuICBcImZsb3Jpbi1zaWduXCI6ICRmYS12YXItZmxvcmluLXNpZ24sXG4gIFwiYXJyb3ctZG93bi1zaG9ydC13aWRlXCI6ICRmYS12YXItYXJyb3ctZG93bi1zaG9ydC13aWRlLFxuICBcInNvcnQtYW1vdW50LWRlc2NcIjogJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjLFxuICBcInNvcnQtYW1vdW50LWRvd24tYWx0XCI6ICRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQsXG4gIFwibGVzcy10aGFuXCI6ICRmYS12YXItbGVzcy10aGFuLFxuICBcImFuZ2xlLWRvd25cIjogJGZhLXZhci1hbmdsZS1kb3duLFxuICBcImNhci10dW5uZWxcIjogJGZhLXZhci1jYXItdHVubmVsLFxuICBcImhlYWQtc2lkZS1jb3VnaFwiOiAkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaCxcbiAgXCJncmlwLWxpbmVzXCI6ICRmYS12YXItZ3JpcC1saW5lcyxcbiAgXCJ0aHVtYnMtZG93blwiOiAkZmEtdmFyLXRodW1icy1kb3duLFxuICBcInVzZXItbG9ja1wiOiAkZmEtdmFyLXVzZXItbG9jayxcbiAgXCJhcnJvdy1yaWdodC1sb25nXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtbG9uZyxcbiAgXCJsb25nLWFycm93LXJpZ2h0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1yaWdodCxcbiAgXCJhbmNob3ItY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItYW5jaG9yLWNpcmNsZS14bWFyayxcbiAgXCJlbGxpcHNpc1wiOiAkZmEtdmFyLWVsbGlwc2lzLFxuICBcImVsbGlwc2lzLWhcIjogJGZhLXZhci1lbGxpcHNpcy1oLFxuICBcImNoZXNzLXBhd25cIjogJGZhLXZhci1jaGVzcy1wYXduLFxuICBcImtpdC1tZWRpY2FsXCI6ICRmYS12YXIta2l0LW1lZGljYWwsXG4gIFwiZmlyc3QtYWlkXCI6ICRmYS12YXItZmlyc3QtYWlkLFxuICBcInBlcnNvbi10aHJvdWdoLXdpbmRvd1wiOiAkZmEtdmFyLXBlcnNvbi10aHJvdWdoLXdpbmRvdyxcbiAgXCJ0b29sYm94XCI6ICRmYS12YXItdG9vbGJveCxcbiAgXCJoYW5kcy1ob2xkaW5nLWNpcmNsZVwiOiAkZmEtdmFyLWhhbmRzLWhvbGRpbmctY2lyY2xlLFxuICBcImJ1Z1wiOiAkZmEtdmFyLWJ1ZyxcbiAgXCJjcmVkaXQtY2FyZFwiOiAkZmEtdmFyLWNyZWRpdC1jYXJkLFxuICBcImNyZWRpdC1jYXJkLWFsdFwiOiAkZmEtdmFyLWNyZWRpdC1jYXJkLWFsdCxcbiAgXCJjYXJcIjogJGZhLXZhci1jYXIsXG4gIFwiYXV0b21vYmlsZVwiOiAkZmEtdmFyLWF1dG9tb2JpbGUsXG4gIFwiaGFuZC1ob2xkaW5nLWhhbmRcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctaGFuZCxcbiAgXCJib29rLW9wZW4tcmVhZGVyXCI6ICRmYS12YXItYm9vay1vcGVuLXJlYWRlcixcbiAgXCJib29rLXJlYWRlclwiOiAkZmEtdmFyLWJvb2stcmVhZGVyLFxuICBcIm1vdW50YWluLXN1blwiOiAkZmEtdmFyLW1vdW50YWluLXN1bixcbiAgXCJhcnJvd3MtbGVmdC1yaWdodC10by1saW5lXCI6ICRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZSxcbiAgXCJkaWNlLWQyMFwiOiAkZmEtdmFyLWRpY2UtZDIwLFxuICBcInRydWNrLWRyb3BsZXRcIjogJGZhLXZhci10cnVjay1kcm9wbGV0LFxuICBcImZpbGUtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItZmlsZS1jaXJjbGUteG1hcmssXG4gIFwidGVtcGVyYXR1cmUtYXJyb3ctdXBcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy11cCxcbiAgXCJ0ZW1wZXJhdHVyZS11cFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLXVwLFxuICBcIm1lZGFsXCI6ICRmYS12YXItbWVkYWwsXG4gIFwiYmVkXCI6ICRmYS12YXItYmVkLFxuICBcInNxdWFyZS1oXCI6ICRmYS12YXItc3F1YXJlLWgsXG4gIFwiaC1zcXVhcmVcIjogJGZhLXZhci1oLXNxdWFyZSxcbiAgXCJwb2RjYXN0XCI6ICRmYS12YXItcG9kY2FzdCxcbiAgXCJ0ZW1wZXJhdHVyZS1mdWxsXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtZnVsbCxcbiAgXCJ0ZW1wZXJhdHVyZS00XCI6ICRmYS12YXItdGVtcGVyYXR1cmUtNCxcbiAgXCJ0aGVybW9tZXRlci00XCI6ICRmYS12YXItdGhlcm1vbWV0ZXItNCxcbiAgXCJ0aGVybW9tZXRlci1mdWxsXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItZnVsbCxcbiAgXCJiZWxsXCI6ICRmYS12YXItYmVsbCxcbiAgXCJzdXBlcnNjcmlwdFwiOiAkZmEtdmFyLXN1cGVyc2NyaXB0LFxuICBcInBsdWctY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUteG1hcmssXG4gIFwic3Rhci1vZi1saWZlXCI6ICRmYS12YXItc3Rhci1vZi1saWZlLFxuICBcInBob25lLXNsYXNoXCI6ICRmYS12YXItcGhvbmUtc2xhc2gsXG4gIFwicGFpbnQtcm9sbGVyXCI6ICRmYS12YXItcGFpbnQtcm9sbGVyLFxuICBcImhhbmRzaGFrZS1hbmdsZVwiOiAkZmEtdmFyLWhhbmRzaGFrZS1hbmdsZSxcbiAgXCJoYW5kcy1oZWxwaW5nXCI6ICRmYS12YXItaGFuZHMtaGVscGluZyxcbiAgXCJsb2NhdGlvbi1kb3RcIjogJGZhLXZhci1sb2NhdGlvbi1kb3QsXG4gIFwibWFwLW1hcmtlci1hbHRcIjogJGZhLXZhci1tYXAtbWFya2VyLWFsdCxcbiAgXCJmaWxlXCI6ICRmYS12YXItZmlsZSxcbiAgXCJncmVhdGVyLXRoYW5cIjogJGZhLXZhci1ncmVhdGVyLXRoYW4sXG4gIFwicGVyc29uLXN3aW1taW5nXCI6ICRmYS12YXItcGVyc29uLXN3aW1taW5nLFxuICBcInN3aW1tZXJcIjogJGZhLXZhci1zd2ltbWVyLFxuICBcImFycm93LWRvd25cIjogJGZhLXZhci1hcnJvdy1kb3duLFxuICBcImRyb3BsZXRcIjogJGZhLXZhci1kcm9wbGV0LFxuICBcInRpbnRcIjogJGZhLXZhci10aW50LFxuICBcImVyYXNlclwiOiAkZmEtdmFyLWVyYXNlcixcbiAgXCJlYXJ0aC1hbWVyaWNhc1wiOiAkZmEtdmFyLWVhcnRoLWFtZXJpY2FzLFxuICBcImVhcnRoXCI6ICRmYS12YXItZWFydGgsXG4gIFwiZWFydGgtYW1lcmljYVwiOiAkZmEtdmFyLWVhcnRoLWFtZXJpY2EsXG4gIFwiZ2xvYmUtYW1lcmljYXNcIjogJGZhLXZhci1nbG9iZS1hbWVyaWNhcyxcbiAgXCJwZXJzb24tYnVyc3RcIjogJGZhLXZhci1wZXJzb24tYnVyc3QsXG4gIFwiZG92ZVwiOiAkZmEtdmFyLWRvdmUsXG4gIFwiYmF0dGVyeS1lbXB0eVwiOiAkZmEtdmFyLWJhdHRlcnktZW1wdHksXG4gIFwiYmF0dGVyeS0wXCI6ICRmYS12YXItYmF0dGVyeS0wLFxuICBcInNvY2tzXCI6ICRmYS12YXItc29ja3MsXG4gIFwiaW5ib3hcIjogJGZhLXZhci1pbmJveCxcbiAgXCJzZWN0aW9uXCI6ICRmYS12YXItc2VjdGlvbixcbiAgXCJnYXVnZS1oaWdoXCI6ICRmYS12YXItZ2F1Z2UtaGlnaCxcbiAgXCJ0YWNob21ldGVyLWFsdFwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LFxuICBcInRhY2hvbWV0ZXItYWx0LWZhc3RcIjogJGZhLXZhci10YWNob21ldGVyLWFsdC1mYXN0LFxuICBcImVudmVsb3BlLW9wZW4tdGV4dFwiOiAkZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dCxcbiAgXCJob3NwaXRhbFwiOiAkZmEtdmFyLWhvc3BpdGFsLFxuICBcImhvc3BpdGFsLWFsdFwiOiAkZmEtdmFyLWhvc3BpdGFsLWFsdCxcbiAgXCJob3NwaXRhbC13aWRlXCI6ICRmYS12YXItaG9zcGl0YWwtd2lkZSxcbiAgXCJ3aW5lLWJvdHRsZVwiOiAkZmEtdmFyLXdpbmUtYm90dGxlLFxuICBcImNoZXNzLXJvb2tcIjogJGZhLXZhci1jaGVzcy1yb29rLFxuICBcImJhcnMtc3RhZ2dlcmVkXCI6ICRmYS12YXItYmFycy1zdGFnZ2VyZWQsXG4gIFwicmVvcmRlclwiOiAkZmEtdmFyLXJlb3JkZXIsXG4gIFwic3RyZWFtXCI6ICRmYS12YXItc3RyZWFtLFxuICBcImRoYXJtYWNoYWtyYVwiOiAkZmEtdmFyLWRoYXJtYWNoYWtyYSxcbiAgXCJob3Rkb2dcIjogJGZhLXZhci1ob3Rkb2csXG4gIFwicGVyc29uLXdhbGtpbmctd2l0aC1jYW5lXCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctd2l0aC1jYW5lLFxuICBcImJsaW5kXCI6ICRmYS12YXItYmxpbmQsXG4gIFwiZHJ1bVwiOiAkZmEtdmFyLWRydW0sXG4gIFwiaWNlLWNyZWFtXCI6ICRmYS12YXItaWNlLWNyZWFtLFxuICBcImhlYXJ0LWNpcmNsZS1ib2x0XCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLWJvbHQsXG4gIFwiZmF4XCI6ICRmYS12YXItZmF4LFxuICBcInBhcmFncmFwaFwiOiAkZmEtdmFyLXBhcmFncmFwaCxcbiAgXCJjaGVjay10by1zbG90XCI6ICRmYS12YXItY2hlY2stdG8tc2xvdCxcbiAgXCJ2b3RlLXllYVwiOiAkZmEtdmFyLXZvdGUteWVhLFxuICBcInN0YXItaGFsZlwiOiAkZmEtdmFyLXN0YXItaGFsZixcbiAgXCJib3hlcy1zdGFja2VkXCI6ICRmYS12YXItYm94ZXMtc3RhY2tlZCxcbiAgXCJib3hlc1wiOiAkZmEtdmFyLWJveGVzLFxuICBcImJveGVzLWFsdFwiOiAkZmEtdmFyLWJveGVzLWFsdCxcbiAgXCJsaW5rXCI6ICRmYS12YXItbGluayxcbiAgXCJjaGFpblwiOiAkZmEtdmFyLWNoYWluLFxuICBcImVhci1saXN0ZW5cIjogJGZhLXZhci1lYXItbGlzdGVuLFxuICBcImFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtc1wiOiAkZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyxcbiAgXCJ0cmVlLWNpdHlcIjogJGZhLXZhci10cmVlLWNpdHksXG4gIFwicGxheVwiOiAkZmEtdmFyLXBsYXksXG4gIFwiZm9udFwiOiAkZmEtdmFyLWZvbnQsXG4gIFwicnVwaWFoLXNpZ25cIjogJGZhLXZhci1ydXBpYWgtc2lnbixcbiAgXCJtYWduaWZ5aW5nLWdsYXNzXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcyxcbiAgXCJzZWFyY2hcIjogJGZhLXZhci1zZWFyY2gsXG4gIFwidGFibGUtdGVubmlzLXBhZGRsZS1iYWxsXCI6ICRmYS12YXItdGFibGUtdGVubmlzLXBhZGRsZS1iYWxsLFxuICBcInBpbmctcG9uZy1wYWRkbGUtYmFsbFwiOiAkZmEtdmFyLXBpbmctcG9uZy1wYWRkbGUtYmFsbCxcbiAgXCJ0YWJsZS10ZW5uaXNcIjogJGZhLXZhci10YWJsZS10ZW5uaXMsXG4gIFwicGVyc29uLWRvdHMtZnJvbS1saW5lXCI6ICRmYS12YXItcGVyc29uLWRvdHMtZnJvbS1saW5lLFxuICBcImRpYWdub3Nlc1wiOiAkZmEtdmFyLWRpYWdub3NlcyxcbiAgXCJ0cmFzaC1jYW4tYXJyb3ctdXBcIjogJGZhLXZhci10cmFzaC1jYW4tYXJyb3ctdXAsXG4gIFwidHJhc2gtcmVzdG9yZS1hbHRcIjogJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdCxcbiAgXCJuYWlyYS1zaWduXCI6ICRmYS12YXItbmFpcmEtc2lnbixcbiAgXCJjYXJ0LWFycm93LWRvd25cIjogJGZhLXZhci1jYXJ0LWFycm93LWRvd24sXG4gIFwid2Fsa2llLXRhbGtpZVwiOiAkZmEtdmFyLXdhbGtpZS10YWxraWUsXG4gIFwiZmlsZS1wZW5cIjogJGZhLXZhci1maWxlLXBlbixcbiAgXCJmaWxlLWVkaXRcIjogJGZhLXZhci1maWxlLWVkaXQsXG4gIFwicmVjZWlwdFwiOiAkZmEtdmFyLXJlY2VpcHQsXG4gIFwic3F1YXJlLXBlblwiOiAkZmEtdmFyLXNxdWFyZS1wZW4sXG4gIFwicGVuLXNxdWFyZVwiOiAkZmEtdmFyLXBlbi1zcXVhcmUsXG4gIFwicGVuY2lsLXNxdWFyZVwiOiAkZmEtdmFyLXBlbmNpbC1zcXVhcmUsXG4gIFwic3VpdGNhc2Utcm9sbGluZ1wiOiAkZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmcsXG4gIFwicGVyc29uLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY2hldnJvbi1kb3duXCI6ICRmYS12YXItY2hldnJvbi1kb3duLFxuICBcImJhdHRlcnktZnVsbFwiOiAkZmEtdmFyLWJhdHRlcnktZnVsbCxcbiAgXCJiYXR0ZXJ5XCI6ICRmYS12YXItYmF0dGVyeSxcbiAgXCJiYXR0ZXJ5LTVcIjogJGZhLXZhci1iYXR0ZXJ5LTUsXG4gIFwic2t1bGwtY3Jvc3Nib25lc1wiOiAkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMsXG4gIFwiY29kZS1jb21wYXJlXCI6ICRmYS12YXItY29kZS1jb21wYXJlLFxuICBcImxpc3QtdWxcIjogJGZhLXZhci1saXN0LXVsLFxuICBcImxpc3QtZG90c1wiOiAkZmEtdmFyLWxpc3QtZG90cyxcbiAgXCJzY2hvb2wtbG9ja1wiOiAkZmEtdmFyLXNjaG9vbC1sb2NrLFxuICBcInRvd2VyLWNlbGxcIjogJGZhLXZhci10b3dlci1jZWxsLFxuICBcImRvd24tbG9uZ1wiOiAkZmEtdmFyLWRvd24tbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC1kb3duXCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bixcbiAgXCJyYW5raW5nLXN0YXJcIjogJGZhLXZhci1yYW5raW5nLXN0YXIsXG4gIFwiY2hlc3Mta2luZ1wiOiAkZmEtdmFyLWNoZXNzLWtpbmcsXG4gIFwicGVyc29uLWhhcmFzc2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1oYXJhc3NpbmcsXG4gIFwiYnJhemlsaWFuLXJlYWwtc2lnblwiOiAkZmEtdmFyLWJyYXppbGlhbi1yZWFsLXNpZ24sXG4gIFwibGFuZG1hcmstZG9tZVwiOiAkZmEtdmFyLWxhbmRtYXJrLWRvbWUsXG4gIFwibGFuZG1hcmstYWx0XCI6ICRmYS12YXItbGFuZG1hcmstYWx0LFxuICBcImFycm93LXVwXCI6ICRmYS12YXItYXJyb3ctdXAsXG4gIFwidHZcIjogJGZhLXZhci10dixcbiAgXCJ0ZWxldmlzaW9uXCI6ICRmYS12YXItdGVsZXZpc2lvbixcbiAgXCJ0di1hbHRcIjogJGZhLXZhci10di1hbHQsXG4gIFwic2hyaW1wXCI6ICRmYS12YXItc2hyaW1wLFxuICBcImxpc3QtY2hlY2tcIjogJGZhLXZhci1saXN0LWNoZWNrLFxuICBcInRhc2tzXCI6ICRmYS12YXItdGFza3MsXG4gIFwianVnLWRldGVyZ2VudFwiOiAkZmEtdmFyLWp1Zy1kZXRlcmdlbnQsXG4gIFwiY2lyY2xlLXVzZXJcIjogJGZhLXZhci1jaXJjbGUtdXNlcixcbiAgXCJ1c2VyLWNpcmNsZVwiOiAkZmEtdmFyLXVzZXItY2lyY2xlLFxuICBcInVzZXItc2hpZWxkXCI6ICRmYS12YXItdXNlci1zaGllbGQsXG4gIFwid2luZFwiOiAkZmEtdmFyLXdpbmQsXG4gIFwiY2FyLWJ1cnN0XCI6ICRmYS12YXItY2FyLWJ1cnN0LFxuICBcImNhci1jcmFzaFwiOiAkZmEtdmFyLWNhci1jcmFzaCxcbiAgXCJ5XCI6ICRmYS12YXIteSxcbiAgXCJwZXJzb24tc25vd2JvYXJkaW5nXCI6ICRmYS12YXItcGVyc29uLXNub3dib2FyZGluZyxcbiAgXCJzbm93Ym9hcmRpbmdcIjogJGZhLXZhci1zbm93Ym9hcmRpbmcsXG4gIFwidHJ1Y2stZmFzdFwiOiAkZmEtdmFyLXRydWNrLWZhc3QsXG4gIFwic2hpcHBpbmctZmFzdFwiOiAkZmEtdmFyLXNoaXBwaW5nLWZhc3QsXG4gIFwiZmlzaFwiOiAkZmEtdmFyLWZpc2gsXG4gIFwidXNlci1ncmFkdWF0ZVwiOiAkZmEtdmFyLXVzZXItZ3JhZHVhdGUsXG4gIFwiY2lyY2xlLWhhbGYtc3Ryb2tlXCI6ICRmYS12YXItY2lyY2xlLWhhbGYtc3Ryb2tlLFxuICBcImFkanVzdFwiOiAkZmEtdmFyLWFkanVzdCxcbiAgXCJjbGFwcGVyYm9hcmRcIjogJGZhLXZhci1jbGFwcGVyYm9hcmQsXG4gIFwiY2lyY2xlLXJhZGlhdGlvblwiOiAkZmEtdmFyLWNpcmNsZS1yYWRpYXRpb24sXG4gIFwicmFkaWF0aW9uLWFsdFwiOiAkZmEtdmFyLXJhZGlhdGlvbi1hbHQsXG4gIFwiYmFzZWJhbGxcIjogJGZhLXZhci1iYXNlYmFsbCxcbiAgXCJiYXNlYmFsbC1iYWxsXCI6ICRmYS12YXItYmFzZWJhbGwtYmFsbCxcbiAgXCJqZXQtZmlnaHRlci11cFwiOiAkZmEtdmFyLWpldC1maWdodGVyLXVwLFxuICBcImRpYWdyYW0tcHJvamVjdFwiOiAkZmEtdmFyLWRpYWdyYW0tcHJvamVjdCxcbiAgXCJwcm9qZWN0LWRpYWdyYW1cIjogJGZhLXZhci1wcm9qZWN0LWRpYWdyYW0sXG4gIFwiY29weVwiOiAkZmEtdmFyLWNvcHksXG4gIFwidm9sdW1lLXhtYXJrXCI6ICRmYS12YXItdm9sdW1lLXhtYXJrLFxuICBcInZvbHVtZS1tdXRlXCI6ICRmYS12YXItdm9sdW1lLW11dGUsXG4gIFwidm9sdW1lLXRpbWVzXCI6ICRmYS12YXItdm9sdW1lLXRpbWVzLFxuICBcImhhbmQtc3BhcmtsZXNcIjogJGZhLXZhci1oYW5kLXNwYXJrbGVzLFxuICBcImdyaXBcIjogJGZhLXZhci1ncmlwLFxuICBcImdyaXAtaG9yaXpvbnRhbFwiOiAkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCxcbiAgXCJzaGFyZS1mcm9tLXNxdWFyZVwiOiAkZmEtdmFyLXNoYXJlLWZyb20tc3F1YXJlLFxuICBcInNoYXJlLXNxdWFyZVwiOiAkZmEtdmFyLXNoYXJlLXNxdWFyZSxcbiAgXCJjaGlsZC1jb21iYXRhbnRcIjogJGZhLXZhci1jaGlsZC1jb21iYXRhbnQsXG4gIFwiY2hpbGQtcmlmbGVcIjogJGZhLXZhci1jaGlsZC1yaWZsZSxcbiAgXCJndW5cIjogJGZhLXZhci1ndW4sXG4gIFwic3F1YXJlLXBob25lXCI6ICRmYS12YXItc3F1YXJlLXBob25lLFxuICBcInBob25lLXNxdWFyZVwiOiAkZmEtdmFyLXBob25lLXNxdWFyZSxcbiAgXCJwbHVzXCI6ICRmYS12YXItcGx1cyxcbiAgXCJhZGRcIjogJGZhLXZhci1hZGQsXG4gIFwiZXhwYW5kXCI6ICRmYS12YXItZXhwYW5kLFxuICBcImNvbXB1dGVyXCI6ICRmYS12YXItY29tcHV0ZXIsXG4gIFwieG1hcmtcIjogJGZhLXZhci14bWFyayxcbiAgXCJjbG9zZVwiOiAkZmEtdmFyLWNsb3NlLFxuICBcIm11bHRpcGx5XCI6ICRmYS12YXItbXVsdGlwbHksXG4gIFwicmVtb3ZlXCI6ICRmYS12YXItcmVtb3ZlLFxuICBcInRpbWVzXCI6ICRmYS12YXItdGltZXMsXG4gIFwiYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodFwiOiAkZmEtdmFyLWFycm93cy11cC1kb3duLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzXCI6ICRmYS12YXItYXJyb3dzLFxuICBcImNoYWxrYm9hcmQtdXNlclwiOiAkZmEtdmFyLWNoYWxrYm9hcmQtdXNlcixcbiAgXCJjaGFsa2JvYXJkLXRlYWNoZXJcIjogJGZhLXZhci1jaGFsa2JvYXJkLXRlYWNoZXIsXG4gIFwicGVzby1zaWduXCI6ICRmYS12YXItcGVzby1zaWduLFxuICBcImJ1aWxkaW5nLXNoaWVsZFwiOiAkZmEtdmFyLWJ1aWxkaW5nLXNoaWVsZCxcbiAgXCJiYWJ5XCI6ICRmYS12YXItYmFieSxcbiAgXCJ1c2Vycy1saW5lXCI6ICRmYS12YXItdXNlcnMtbGluZSxcbiAgXCJxdW90ZS1sZWZ0XCI6ICRmYS12YXItcXVvdGUtbGVmdCxcbiAgXCJxdW90ZS1sZWZ0LWFsdFwiOiAkZmEtdmFyLXF1b3RlLWxlZnQtYWx0LFxuICBcInRyYWN0b3JcIjogJGZhLXZhci10cmFjdG9yLFxuICBcInRyYXNoLWFycm93LXVwXCI6ICRmYS12YXItdHJhc2gtYXJyb3ctdXAsXG4gIFwidHJhc2gtcmVzdG9yZVwiOiAkZmEtdmFyLXRyYXNoLXJlc3RvcmUsXG4gIFwiYXJyb3ctZG93bi11cC1sb2NrXCI6ICRmYS12YXItYXJyb3ctZG93bi11cC1sb2NrLFxuICBcImxpbmVzLWxlYW5pbmdcIjogJGZhLXZhci1saW5lcy1sZWFuaW5nLFxuICBcInJ1bGVyLWNvbWJpbmVkXCI6ICRmYS12YXItcnVsZXItY29tYmluZWQsXG4gIFwiY29weXJpZ2h0XCI6ICRmYS12YXItY29weXJpZ2h0LFxuICBcImVxdWFsc1wiOiAkZmEtdmFyLWVxdWFscyxcbiAgXCJibGVuZGVyXCI6ICRmYS12YXItYmxlbmRlcixcbiAgXCJ0ZWV0aFwiOiAkZmEtdmFyLXRlZXRoLFxuICBcInNoZWtlbC1zaWduXCI6ICRmYS12YXItc2hla2VsLXNpZ24sXG4gIFwiaWxzXCI6ICRmYS12YXItaWxzLFxuICBcInNoZWtlbFwiOiAkZmEtdmFyLXNoZWtlbCxcbiAgXCJzaGVxZWxcIjogJGZhLXZhci1zaGVxZWwsXG4gIFwic2hlcWVsLXNpZ25cIjogJGZhLXZhci1zaGVxZWwtc2lnbixcbiAgXCJtYXBcIjogJGZhLXZhci1tYXAsXG4gIFwicm9ja2V0XCI6ICRmYS12YXItcm9ja2V0LFxuICBcInBob3RvLWZpbG1cIjogJGZhLXZhci1waG90by1maWxtLFxuICBcInBob3RvLXZpZGVvXCI6ICRmYS12YXItcGhvdG8tdmlkZW8sXG4gIFwiZm9sZGVyLW1pbnVzXCI6ICRmYS12YXItZm9sZGVyLW1pbnVzLFxuICBcInN0b3JlXCI6ICRmYS12YXItc3RvcmUsXG4gIFwiYXJyb3ctdHJlbmQtdXBcIjogJGZhLXZhci1hcnJvdy10cmVuZC11cCxcbiAgXCJwbHVnLWNpcmNsZS1taW51c1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLW1pbnVzLFxuICBcInNpZ24taGFuZ2luZ1wiOiAkZmEtdmFyLXNpZ24taGFuZ2luZyxcbiAgXCJzaWduXCI6ICRmYS12YXItc2lnbixcbiAgXCJiZXppZXItY3VydmVcIjogJGZhLXZhci1iZXppZXItY3VydmUsXG4gIFwiYmVsbC1zbGFzaFwiOiAkZmEtdmFyLWJlbGwtc2xhc2gsXG4gIFwidGFibGV0XCI6ICRmYS12YXItdGFibGV0LFxuICBcInRhYmxldC1hbmRyb2lkXCI6ICRmYS12YXItdGFibGV0LWFuZHJvaWQsXG4gIFwic2Nob29sLWZsYWdcIjogJGZhLXZhci1zY2hvb2wtZmxhZyxcbiAgXCJmaWxsXCI6ICRmYS12YXItZmlsbCxcbiAgXCJhbmdsZS11cFwiOiAkZmEtdmFyLWFuZ2xlLXVwLFxuICBcImRydW1zdGljay1iaXRlXCI6ICRmYS12YXItZHJ1bXN0aWNrLWJpdGUsXG4gIFwiaG9sbHktYmVycnlcIjogJGZhLXZhci1ob2xseS1iZXJyeSxcbiAgXCJjaGV2cm9uLWxlZnRcIjogJGZhLXZhci1jaGV2cm9uLWxlZnQsXG4gIFwiYmFjdGVyaWFcIjogJGZhLXZhci1iYWN0ZXJpYSxcbiAgXCJoYW5kLWxpemFyZFwiOiAkZmEtdmFyLWhhbmQtbGl6YXJkLFxuICBcIm5vdGRlZlwiOiAkZmEtdmFyLW5vdGRlZixcbiAgXCJkaXNlYXNlXCI6ICRmYS12YXItZGlzZWFzZSxcbiAgXCJicmllZmNhc2UtbWVkaWNhbFwiOiAkZmEtdmFyLWJyaWVmY2FzZS1tZWRpY2FsLFxuICBcImdlbmRlcmxlc3NcIjogJGZhLXZhci1nZW5kZXJsZXNzLFxuICBcImNoZXZyb24tcmlnaHRcIjogJGZhLXZhci1jaGV2cm9uLXJpZ2h0LFxuICBcInJldHdlZXRcIjogJGZhLXZhci1yZXR3ZWV0LFxuICBcImNhci1yZWFyXCI6ICRmYS12YXItY2FyLXJlYXIsXG4gIFwiY2FyLWFsdFwiOiAkZmEtdmFyLWNhci1hbHQsXG4gIFwicHVtcC1zb2FwXCI6ICRmYS12YXItcHVtcC1zb2FwLFxuICBcInZpZGVvLXNsYXNoXCI6ICRmYS12YXItdmlkZW8tc2xhc2gsXG4gIFwiYmF0dGVyeS1xdWFydGVyXCI6ICRmYS12YXItYmF0dGVyeS1xdWFydGVyLFxuICBcImJhdHRlcnktMlwiOiAkZmEtdmFyLWJhdHRlcnktMixcbiAgXCJyYWRpb1wiOiAkZmEtdmFyLXJhZGlvLFxuICBcImJhYnktY2FycmlhZ2VcIjogJGZhLXZhci1iYWJ5LWNhcnJpYWdlLFxuICBcImNhcnJpYWdlLWJhYnlcIjogJGZhLXZhci1jYXJyaWFnZS1iYWJ5LFxuICBcInRyYWZmaWMtbGlnaHRcIjogJGZhLXZhci10cmFmZmljLWxpZ2h0LFxuICBcInRoZXJtb21ldGVyXCI6ICRmYS12YXItdGhlcm1vbWV0ZXIsXG4gIFwidnItY2FyZGJvYXJkXCI6ICRmYS12YXItdnItY2FyZGJvYXJkLFxuICBcImhhbmQtbWlkZGxlLWZpbmdlclwiOiAkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcixcbiAgXCJwZXJjZW50XCI6ICRmYS12YXItcGVyY2VudCxcbiAgXCJwZXJjZW50YWdlXCI6ICRmYS12YXItcGVyY2VudGFnZSxcbiAgXCJ0cnVjay1tb3ZpbmdcIjogJGZhLXZhci10cnVjay1tb3ZpbmcsXG4gIFwiZ2xhc3Mtd2F0ZXItZHJvcGxldFwiOiAkZmEtdmFyLWdsYXNzLXdhdGVyLWRyb3BsZXQsXG4gIFwiZGlzcGxheVwiOiAkZmEtdmFyLWRpc3BsYXksXG4gIFwiZmFjZS1zbWlsZVwiOiAkZmEtdmFyLWZhY2Utc21pbGUsXG4gIFwic21pbGVcIjogJGZhLXZhci1zbWlsZSxcbiAgXCJ0aHVtYnRhY2tcIjogJGZhLXZhci10aHVtYnRhY2ssXG4gIFwidGh1bWItdGFja1wiOiAkZmEtdmFyLXRodW1iLXRhY2ssXG4gIFwidHJvcGh5XCI6ICRmYS12YXItdHJvcGh5LFxuICBcInBlcnNvbi1wcmF5aW5nXCI6ICRmYS12YXItcGVyc29uLXByYXlpbmcsXG4gIFwicHJheVwiOiAkZmEtdmFyLXByYXksXG4gIFwiaGFtbWVyXCI6ICRmYS12YXItaGFtbWVyLFxuICBcImhhbmQtcGVhY2VcIjogJGZhLXZhci1oYW5kLXBlYWNlLFxuICBcInJvdGF0ZVwiOiAkZmEtdmFyLXJvdGF0ZSxcbiAgXCJzeW5jLWFsdFwiOiAkZmEtdmFyLXN5bmMtYWx0LFxuICBcInNwaW5uZXJcIjogJGZhLXZhci1zcGlubmVyLFxuICBcInJvYm90XCI6ICRmYS12YXItcm9ib3QsXG4gIFwicGVhY2VcIjogJGZhLXZhci1wZWFjZSxcbiAgXCJnZWFyc1wiOiAkZmEtdmFyLWdlYXJzLFxuICBcImNvZ3NcIjogJGZhLXZhci1jb2dzLFxuICBcIndhcmVob3VzZVwiOiAkZmEtdmFyLXdhcmVob3VzZSxcbiAgXCJhcnJvdy11cC1yaWdodC1kb3RzXCI6ICRmYS12YXItYXJyb3ctdXAtcmlnaHQtZG90cyxcbiAgXCJzcGxvdGNoXCI6ICRmYS12YXItc3Bsb3RjaCxcbiAgXCJmYWNlLWdyaW4taGVhcnRzXCI6ICRmYS12YXItZmFjZS1ncmluLWhlYXJ0cyxcbiAgXCJncmluLWhlYXJ0c1wiOiAkZmEtdmFyLWdyaW4taGVhcnRzLFxuICBcImRpY2UtZm91clwiOiAkZmEtdmFyLWRpY2UtZm91cixcbiAgXCJzaW0tY2FyZFwiOiAkZmEtdmFyLXNpbS1jYXJkLFxuICBcInRyYW5zZ2VuZGVyXCI6ICRmYS12YXItdHJhbnNnZW5kZXIsXG4gIFwidHJhbnNnZW5kZXItYWx0XCI6ICRmYS12YXItdHJhbnNnZW5kZXItYWx0LFxuICBcIm1lcmN1cnlcIjogJGZhLXZhci1tZXJjdXJ5LFxuICBcImFycm93LXR1cm4tZG93blwiOiAkZmEtdmFyLWFycm93LXR1cm4tZG93bixcbiAgXCJsZXZlbC1kb3duXCI6ICRmYS12YXItbGV2ZWwtZG93bixcbiAgXCJwZXJzb24tZmFsbGluZy1idXJzdFwiOiAkZmEtdmFyLXBlcnNvbi1mYWxsaW5nLWJ1cnN0LFxuICBcImF3YXJkXCI6ICRmYS12YXItYXdhcmQsXG4gIFwidGlja2V0LXNpbXBsZVwiOiAkZmEtdmFyLXRpY2tldC1zaW1wbGUsXG4gIFwidGlja2V0LWFsdFwiOiAkZmEtdmFyLXRpY2tldC1hbHQsXG4gIFwiYnVpbGRpbmdcIjogJGZhLXZhci1idWlsZGluZyxcbiAgXCJhbmdsZXMtbGVmdFwiOiAkZmEtdmFyLWFuZ2xlcy1sZWZ0LFxuICBcImFuZ2xlLWRvdWJsZS1sZWZ0XCI6ICRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQsXG4gIFwicXJjb2RlXCI6ICRmYS12YXItcXJjb2RlLFxuICBcImNsb2NrLXJvdGF0ZS1sZWZ0XCI6ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQsXG4gIFwiaGlzdG9yeVwiOiAkZmEtdmFyLWhpc3RvcnksXG4gIFwiZmFjZS1ncmluLWJlYW0tc3dlYXRcIjogJGZhLXZhci1mYWNlLWdyaW4tYmVhbS1zd2VhdCxcbiAgXCJncmluLWJlYW0tc3dlYXRcIjogJGZhLXZhci1ncmluLWJlYW0tc3dlYXQsXG4gIFwiZmlsZS1leHBvcnRcIjogJGZhLXZhci1maWxlLWV4cG9ydCxcbiAgXCJhcnJvdy1yaWdodC1mcm9tLWZpbGVcIjogJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWZpbGUsXG4gIFwic2hpZWxkXCI6ICRmYS12YXItc2hpZWxkLFxuICBcInNoaWVsZC1ibGFua1wiOiAkZmEtdmFyLXNoaWVsZC1ibGFuayxcbiAgXCJhcnJvdy11cC1zaG9ydC13aWRlXCI6ICRmYS12YXItYXJyb3ctdXAtc2hvcnQtd2lkZSxcbiAgXCJzb3J0LWFtb3VudC11cC1hbHRcIjogJGZhLXZhci1zb3J0LWFtb3VudC11cC1hbHQsXG4gIFwiaG91c2UtbWVkaWNhbFwiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwsXG4gIFwiZ29sZi1iYWxsLXRlZVwiOiAkZmEtdmFyLWdvbGYtYmFsbC10ZWUsXG4gIFwiZ29sZi1iYWxsXCI6ICRmYS12YXItZ29sZi1iYWxsLFxuICBcImNpcmNsZS1jaGV2cm9uLWxlZnRcIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi1sZWZ0LFxuICBcImNoZXZyb24tY2lyY2xlLWxlZnRcIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0LFxuICBcImhvdXNlLWNoaW1uZXktd2luZG93XCI6ICRmYS12YXItaG91c2UtY2hpbW5leS13aW5kb3csXG4gIFwicGVuLW5pYlwiOiAkZmEtdmFyLXBlbi1uaWIsXG4gIFwidGVudC1hcnJvdy10dXJuLWxlZnRcIjogJGZhLXZhci10ZW50LWFycm93LXR1cm4tbGVmdCxcbiAgXCJ0ZW50c1wiOiAkZmEtdmFyLXRlbnRzLFxuICBcIndhbmQtbWFnaWNcIjogJGZhLXZhci13YW5kLW1hZ2ljLFxuICBcIm1hZ2ljXCI6ICRmYS12YXItbWFnaWMsXG4gIFwiZG9nXCI6ICRmYS12YXItZG9nLFxuICBcImNhcnJvdFwiOiAkZmEtdmFyLWNhcnJvdCxcbiAgXCJtb29uXCI6ICRmYS12YXItbW9vbixcbiAgXCJ3aW5lLWdsYXNzLWVtcHR5XCI6ICRmYS12YXItd2luZS1nbGFzcy1lbXB0eSxcbiAgXCJ3aW5lLWdsYXNzLWFsdFwiOiAkZmEtdmFyLXdpbmUtZ2xhc3MtYWx0LFxuICBcImNoZWVzZVwiOiAkZmEtdmFyLWNoZWVzZSxcbiAgXCJ5aW4teWFuZ1wiOiAkZmEtdmFyLXlpbi15YW5nLFxuICBcIm11c2ljXCI6ICRmYS12YXItbXVzaWMsXG4gIFwiY29kZS1jb21taXRcIjogJGZhLXZhci1jb2RlLWNvbW1pdCxcbiAgXCJ0ZW1wZXJhdHVyZS1sb3dcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1sb3csXG4gIFwicGVyc29uLWJpa2luZ1wiOiAkZmEtdmFyLXBlcnNvbi1iaWtpbmcsXG4gIFwiYmlraW5nXCI6ICRmYS12YXItYmlraW5nLFxuICBcImJyb29tXCI6ICRmYS12YXItYnJvb20sXG4gIFwic2hpZWxkLWhlYXJ0XCI6ICRmYS12YXItc2hpZWxkLWhlYXJ0LFxuICBcImdvcHVyYW1cIjogJGZhLXZhci1nb3B1cmFtLFxuICBcImVhcnRoLW9jZWFuaWFcIjogJGZhLXZhci1lYXJ0aC1vY2VhbmlhLFxuICBcImdsb2JlLW9jZWFuaWFcIjogJGZhLXZhci1nbG9iZS1vY2VhbmlhLFxuICBcInNxdWFyZS14bWFya1wiOiAkZmEtdmFyLXNxdWFyZS14bWFyayxcbiAgXCJ0aW1lcy1zcXVhcmVcIjogJGZhLXZhci10aW1lcy1zcXVhcmUsXG4gIFwieG1hcmstc3F1YXJlXCI6ICRmYS12YXIteG1hcmstc3F1YXJlLFxuICBcImhhc2h0YWdcIjogJGZhLXZhci1oYXNodGFnLFxuICBcInVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXJcIjogJGZhLXZhci11cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyLFxuICBcImV4cGFuZC1hbHRcIjogJGZhLXZhci1leHBhbmQtYWx0LFxuICBcIm9pbC1jYW5cIjogJGZhLXZhci1vaWwtY2FuLFxuICBcInRcIjogJGZhLXZhci10LFxuICBcImhpcHBvXCI6ICRmYS12YXItaGlwcG8sXG4gIFwiY2hhcnQtY29sdW1uXCI6ICRmYS12YXItY2hhcnQtY29sdW1uLFxuICBcImluZmluaXR5XCI6ICRmYS12YXItaW5maW5pdHksXG4gIFwidmlhbC1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci12aWFsLWNpcmNsZS1jaGVjayxcbiAgXCJwZXJzb24tYXJyb3ctZG93bi10by1saW5lXCI6ICRmYS12YXItcGVyc29uLWFycm93LWRvd24tdG8tbGluZSxcbiAgXCJ2b2ljZW1haWxcIjogJGZhLXZhci12b2ljZW1haWwsXG4gIFwiZmFuXCI6ICRmYS12YXItZmFuLFxuICBcInBlcnNvbi13YWxraW5nLWx1Z2dhZ2VcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1sdWdnYWdlLFxuICBcInVwLWRvd25cIjogJGZhLXZhci11cC1kb3duLFxuICBcImFycm93cy1hbHQtdlwiOiAkZmEtdmFyLWFycm93cy1hbHQtdixcbiAgXCJjbG91ZC1tb29uLXJhaW5cIjogJGZhLXZhci1jbG91ZC1tb29uLXJhaW4sXG4gIFwiY2FsZW5kYXJcIjogJGZhLXZhci1jYWxlbmRhcixcbiAgXCJ0cmFpbGVyXCI6ICRmYS12YXItdHJhaWxlcixcbiAgXCJiYWhhaVwiOiAkZmEtdmFyLWJhaGFpLFxuICBcImhheWthbFwiOiAkZmEtdmFyLWhheWthbCxcbiAgXCJzZC1jYXJkXCI6ICRmYS12YXItc2QtY2FyZCxcbiAgXCJkcmFnb25cIjogJGZhLXZhci1kcmFnb24sXG4gIFwic2hvZS1wcmludHNcIjogJGZhLXZhci1zaG9lLXByaW50cyxcbiAgXCJjaXJjbGUtcGx1c1wiOiAkZmEtdmFyLWNpcmNsZS1wbHVzLFxuICBcInBsdXMtY2lyY2xlXCI6ICRmYS12YXItcGx1cy1jaXJjbGUsXG4gIFwiZmFjZS1ncmluLXRvbmd1ZS13aW5rXCI6ICRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS13aW5rLFxuICBcImdyaW4tdG9uZ3VlLXdpbmtcIjogJGZhLXZhci1ncmluLXRvbmd1ZS13aW5rLFxuICBcImhhbmQtaG9sZGluZ1wiOiAkZmEtdmFyLWhhbmQtaG9sZGluZyxcbiAgXCJwbHVnLWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImxpbmstc2xhc2hcIjogJGZhLXZhci1saW5rLXNsYXNoLFxuICBcImNoYWluLWJyb2tlblwiOiAkZmEtdmFyLWNoYWluLWJyb2tlbixcbiAgXCJjaGFpbi1zbGFzaFwiOiAkZmEtdmFyLWNoYWluLXNsYXNoLFxuICBcInVubGlua1wiOiAkZmEtdmFyLXVubGluayxcbiAgXCJjbG9uZVwiOiAkZmEtdmFyLWNsb25lLFxuICBcInBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdFwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdCxcbiAgXCJhcnJvdy11cC16LWFcIjogJGZhLXZhci1hcnJvdy11cC16LWEsXG4gIFwic29ydC1hbHBoYS11cC1hbHRcIjogJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdCxcbiAgXCJmaXJlLWZsYW1lLWN1cnZlZFwiOiAkZmEtdmFyLWZpcmUtZmxhbWUtY3VydmVkLFxuICBcImZpcmUtYWx0XCI6ICRmYS12YXItZmlyZS1hbHQsXG4gIFwidG9ybmFkb1wiOiAkZmEtdmFyLXRvcm5hZG8sXG4gIFwiZmlsZS1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLWZpbGUtY2lyY2xlLXBsdXMsXG4gIFwiYm9vay1xdXJhblwiOiAkZmEtdmFyLWJvb2stcXVyYW4sXG4gIFwicXVyYW5cIjogJGZhLXZhci1xdXJhbixcbiAgXCJhbmNob3JcIjogJGZhLXZhci1hbmNob3IsXG4gIFwiYm9yZGVyLWFsbFwiOiAkZmEtdmFyLWJvcmRlci1hbGwsXG4gIFwiZmFjZS1hbmdyeVwiOiAkZmEtdmFyLWZhY2UtYW5ncnksXG4gIFwiYW5ncnlcIjogJGZhLXZhci1hbmdyeSxcbiAgXCJjb29raWUtYml0ZVwiOiAkZmEtdmFyLWNvb2tpZS1iaXRlLFxuICBcImFycm93LXRyZW5kLWRvd25cIjogJGZhLXZhci1hcnJvdy10cmVuZC1kb3duLFxuICBcInJzc1wiOiAkZmEtdmFyLXJzcyxcbiAgXCJmZWVkXCI6ICRmYS12YXItZmVlZCxcbiAgXCJkcmF3LXBvbHlnb25cIjogJGZhLXZhci1kcmF3LXBvbHlnb24sXG4gIFwic2NhbGUtYmFsYW5jZWRcIjogJGZhLXZhci1zY2FsZS1iYWxhbmNlZCxcbiAgXCJiYWxhbmNlLXNjYWxlXCI6ICRmYS12YXItYmFsYW5jZS1zY2FsZSxcbiAgXCJnYXVnZS1zaW1wbGUtaGlnaFwiOiAkZmEtdmFyLWdhdWdlLXNpbXBsZS1oaWdoLFxuICBcInRhY2hvbWV0ZXJcIjogJGZhLXZhci10YWNob21ldGVyLFxuICBcInRhY2hvbWV0ZXItZmFzdFwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItZmFzdCxcbiAgXCJzaG93ZXJcIjogJGZhLXZhci1zaG93ZXIsXG4gIFwiZGVza3RvcFwiOiAkZmEtdmFyLWRlc2t0b3AsXG4gIFwiZGVza3RvcC1hbHRcIjogJGZhLXZhci1kZXNrdG9wLWFsdCxcbiAgXCJtXCI6ICRmYS12YXItbSxcbiAgXCJ0YWJsZS1saXN0XCI6ICRmYS12YXItdGFibGUtbGlzdCxcbiAgXCJ0aC1saXN0XCI6ICRmYS12YXItdGgtbGlzdCxcbiAgXCJjb21tZW50LXNtc1wiOiAkZmEtdmFyLWNvbW1lbnQtc21zLFxuICBcInNtc1wiOiAkZmEtdmFyLXNtcyxcbiAgXCJib29rXCI6ICRmYS12YXItYm9vayxcbiAgXCJ1c2VyLXBsdXNcIjogJGZhLXZhci11c2VyLXBsdXMsXG4gIFwiY2hlY2tcIjogJGZhLXZhci1jaGVjayxcbiAgXCJiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzXCI6ICRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVycyxcbiAgXCJiYXR0ZXJ5LTRcIjogJGZhLXZhci1iYXR0ZXJ5LTQsXG4gIFwiaG91c2UtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItaG91c2UtY2lyY2xlLWNoZWNrLFxuICBcImFuZ2xlLWxlZnRcIjogJGZhLXZhci1hbmdsZS1sZWZ0LFxuICBcImRpYWdyYW0tc3VjY2Vzc29yXCI6ICRmYS12YXItZGlhZ3JhbS1zdWNjZXNzb3IsXG4gIFwidHJ1Y2stYXJyb3ctcmlnaHRcIjogJGZhLXZhci10cnVjay1hcnJvdy1yaWdodCxcbiAgXCJhcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnRcIjogJGZhLXZhci1hcnJvd3Mtc3BsaXQtdXAtYW5kLWxlZnQsXG4gIFwiaGFuZC1maXN0XCI6ICRmYS12YXItaGFuZC1maXN0LFxuICBcImZpc3QtcmFpc2VkXCI6ICRmYS12YXItZmlzdC1yYWlzZWQsXG4gIFwiY2xvdWQtbW9vblwiOiAkZmEtdmFyLWNsb3VkLW1vb24sXG4gIFwiYnJpZWZjYXNlXCI6ICRmYS12YXItYnJpZWZjYXNlLFxuICBcInBlcnNvbi1mYWxsaW5nXCI6ICRmYS12YXItcGVyc29uLWZhbGxpbmcsXG4gIFwiaW1hZ2UtcG9ydHJhaXRcIjogJGZhLXZhci1pbWFnZS1wb3J0cmFpdCxcbiAgXCJwb3J0cmFpdFwiOiAkZmEtdmFyLXBvcnRyYWl0LFxuICBcInVzZXItdGFnXCI6ICRmYS12YXItdXNlci10YWcsXG4gIFwicnVnXCI6ICRmYS12YXItcnVnLFxuICBcImVhcnRoLWV1cm9wZVwiOiAkZmEtdmFyLWVhcnRoLWV1cm9wZSxcbiAgXCJnbG9iZS1ldXJvcGVcIjogJGZhLXZhci1nbG9iZS1ldXJvcGUsXG4gIFwiY2FydC1mbGF0YmVkLXN1aXRjYXNlXCI6ICRmYS12YXItY2FydC1mbGF0YmVkLXN1aXRjYXNlLFxuICBcImx1Z2dhZ2UtY2FydFwiOiAkZmEtdmFyLWx1Z2dhZ2UtY2FydCxcbiAgXCJyZWN0YW5nbGUteG1hcmtcIjogJGZhLXZhci1yZWN0YW5nbGUteG1hcmssXG4gIFwicmVjdGFuZ2xlLXRpbWVzXCI6ICRmYS12YXItcmVjdGFuZ2xlLXRpbWVzLFxuICBcInRpbWVzLXJlY3RhbmdsZVwiOiAkZmEtdmFyLXRpbWVzLXJlY3RhbmdsZSxcbiAgXCJ3aW5kb3ctY2xvc2VcIjogJGZhLXZhci13aW5kb3ctY2xvc2UsXG4gIFwiYmFodC1zaWduXCI6ICRmYS12YXItYmFodC1zaWduLFxuICBcImJvb2stb3BlblwiOiAkZmEtdmFyLWJvb2stb3BlbixcbiAgXCJib29rLWpvdXJuYWwtd2hpbGxzXCI6ICRmYS12YXItYm9vay1qb3VybmFsLXdoaWxscyxcbiAgXCJqb3VybmFsLXdoaWxsc1wiOiAkZmEtdmFyLWpvdXJuYWwtd2hpbGxzLFxuICBcImhhbmRjdWZmc1wiOiAkZmEtdmFyLWhhbmRjdWZmcyxcbiAgXCJ0cmlhbmdsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uLFxuICBcImV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI6ICRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUsXG4gIFwid2FybmluZ1wiOiAkZmEtdmFyLXdhcm5pbmcsXG4gIFwiZGF0YWJhc2VcIjogJGZhLXZhci1kYXRhYmFzZSxcbiAgXCJzaGFyZVwiOiAkZmEtdmFyLXNoYXJlLFxuICBcIm1haWwtZm9yd2FyZFwiOiAkZmEtdmFyLW1haWwtZm9yd2FyZCxcbiAgXCJib3R0bGUtZHJvcGxldFwiOiAkZmEtdmFyLWJvdHRsZS1kcm9wbGV0LFxuICBcIm1hc2stZmFjZVwiOiAkZmEtdmFyLW1hc2stZmFjZSxcbiAgXCJoaWxsLXJvY2tzbGlkZVwiOiAkZmEtdmFyLWhpbGwtcm9ja3NsaWRlLFxuICBcInJpZ2h0LWxlZnRcIjogJGZhLXZhci1yaWdodC1sZWZ0LFxuICBcImV4Y2hhbmdlLWFsdFwiOiAkZmEtdmFyLWV4Y2hhbmdlLWFsdCxcbiAgXCJwYXBlci1wbGFuZVwiOiAkZmEtdmFyLXBhcGVyLXBsYW5lLFxuICBcInJvYWQtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcm9hZC1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiZHVuZ2VvblwiOiAkZmEtdmFyLWR1bmdlb24sXG4gIFwiYWxpZ24tcmlnaHRcIjogJGZhLXZhci1hbGlnbi1yaWdodCxcbiAgXCJtb25leS1iaWxsLTEtd2F2ZVwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtMS13YXZlLFxuICBcIm1vbmV5LWJpbGwtd2F2ZS1hbHRcIjogJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0LFxuICBcImxpZmUtcmluZ1wiOiAkZmEtdmFyLWxpZmUtcmluZyxcbiAgXCJoYW5kc1wiOiAkZmEtdmFyLWhhbmRzLFxuICBcInNpZ24tbGFuZ3VhZ2VcIjogJGZhLXZhci1zaWduLWxhbmd1YWdlLFxuICBcInNpZ25pbmdcIjogJGZhLXZhci1zaWduaW5nLFxuICBcImNhbGVuZGFyLWRheVwiOiAkZmEtdmFyLWNhbGVuZGFyLWRheSxcbiAgXCJ3YXRlci1sYWRkZXJcIjogJGZhLXZhci13YXRlci1sYWRkZXIsXG4gIFwibGFkZGVyLXdhdGVyXCI6ICRmYS12YXItbGFkZGVyLXdhdGVyLFxuICBcInN3aW1taW5nLXBvb2xcIjogJGZhLXZhci1zd2ltbWluZy1wb29sLFxuICBcImFycm93cy11cC1kb3duXCI6ICRmYS12YXItYXJyb3dzLXVwLWRvd24sXG4gIFwiYXJyb3dzLXZcIjogJGZhLXZhci1hcnJvd3MtdixcbiAgXCJmYWNlLWdyaW1hY2VcIjogJGZhLXZhci1mYWNlLWdyaW1hY2UsXG4gIFwiZ3JpbWFjZVwiOiAkZmEtdmFyLWdyaW1hY2UsXG4gIFwid2hlZWxjaGFpci1tb3ZlXCI6ICRmYS12YXItd2hlZWxjaGFpci1tb3ZlLFxuICBcIndoZWVsY2hhaXItYWx0XCI6ICRmYS12YXItd2hlZWxjaGFpci1hbHQsXG4gIFwidHVybi1kb3duXCI6ICRmYS12YXItdHVybi1kb3duLFxuICBcImxldmVsLWRvd24tYWx0XCI6ICRmYS12YXItbGV2ZWwtZG93bi1hbHQsXG4gIFwicGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHRcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodCxcbiAgXCJzcXVhcmUtZW52ZWxvcGVcIjogJGZhLXZhci1zcXVhcmUtZW52ZWxvcGUsXG4gIFwiZW52ZWxvcGUtc3F1YXJlXCI6ICRmYS12YXItZW52ZWxvcGUtc3F1YXJlLFxuICBcImRpY2VcIjogJGZhLXZhci1kaWNlLFxuICBcImJvd2xpbmctYmFsbFwiOiAkZmEtdmFyLWJvd2xpbmctYmFsbCxcbiAgXCJicmFpblwiOiAkZmEtdmFyLWJyYWluLFxuICBcImJhbmRhZ2VcIjogJGZhLXZhci1iYW5kYWdlLFxuICBcImJhbmQtYWlkXCI6ICRmYS12YXItYmFuZC1haWQsXG4gIFwiY2FsZW5kYXItbWludXNcIjogJGZhLXZhci1jYWxlbmRhci1taW51cyxcbiAgXCJjaXJjbGUteG1hcmtcIjogJGZhLXZhci1jaXJjbGUteG1hcmssXG4gIFwidGltZXMtY2lyY2xlXCI6ICRmYS12YXItdGltZXMtY2lyY2xlLFxuICBcInhtYXJrLWNpcmNsZVwiOiAkZmEtdmFyLXhtYXJrLWNpcmNsZSxcbiAgXCJnaWZ0c1wiOiAkZmEtdmFyLWdpZnRzLFxuICBcImhvdGVsXCI6ICRmYS12YXItaG90ZWwsXG4gIFwiZWFydGgtYXNpYVwiOiAkZmEtdmFyLWVhcnRoLWFzaWEsXG4gIFwiZ2xvYmUtYXNpYVwiOiAkZmEtdmFyLWdsb2JlLWFzaWEsXG4gIFwiaWQtY2FyZC1jbGlwXCI6ICRmYS12YXItaWQtY2FyZC1jbGlwLFxuICBcImlkLWNhcmQtYWx0XCI6ICRmYS12YXItaWQtY2FyZC1hbHQsXG4gIFwibWFnbmlmeWluZy1nbGFzcy1wbHVzXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1wbHVzLFxuICBcInNlYXJjaC1wbHVzXCI6ICRmYS12YXItc2VhcmNoLXBsdXMsXG4gIFwidGh1bWJzLXVwXCI6ICRmYS12YXItdGh1bWJzLXVwLFxuICBcInVzZXItY2xvY2tcIjogJGZhLXZhci11c2VyLWNsb2NrLFxuICBcImhhbmQtZG90c1wiOiAkZmEtdmFyLWhhbmQtZG90cyxcbiAgXCJhbGxlcmdpZXNcIjogJGZhLXZhci1hbGxlcmdpZXMsXG4gIFwiZmlsZS1pbnZvaWNlXCI6ICRmYS12YXItZmlsZS1pbnZvaWNlLFxuICBcIndpbmRvdy1taW5pbWl6ZVwiOiAkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZSxcbiAgXCJtdWctc2F1Y2VyXCI6ICRmYS12YXItbXVnLXNhdWNlcixcbiAgXCJjb2ZmZWVcIjogJGZhLXZhci1jb2ZmZWUsXG4gIFwiYnJ1c2hcIjogJGZhLXZhci1icnVzaCxcbiAgXCJtYXNrXCI6ICRmYS12YXItbWFzayxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLW1pbnVzXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1taW51cyxcbiAgXCJzZWFyY2gtbWludXNcIjogJGZhLXZhci1zZWFyY2gtbWludXMsXG4gIFwicnVsZXItdmVydGljYWxcIjogJGZhLXZhci1ydWxlci12ZXJ0aWNhbCxcbiAgXCJ1c2VyLWxhcmdlXCI6ICRmYS12YXItdXNlci1sYXJnZSxcbiAgXCJ1c2VyLWFsdFwiOiAkZmEtdmFyLXVzZXItYWx0LFxuICBcInRyYWluLXRyYW1cIjogJGZhLXZhci10cmFpbi10cmFtLFxuICBcInVzZXItbnVyc2VcIjogJGZhLXZhci11c2VyLW51cnNlLFxuICBcInN5cmluZ2VcIjogJGZhLXZhci1zeXJpbmdlLFxuICBcImNsb3VkLXN1blwiOiAkZmEtdmFyLWNsb3VkLXN1bixcbiAgXCJzdG9wd2F0Y2gtMjBcIjogJGZhLXZhci1zdG9wd2F0Y2gtMjAsXG4gIFwic3F1YXJlLWZ1bGxcIjogJGZhLXZhci1zcXVhcmUtZnVsbCxcbiAgXCJtYWduZXRcIjogJGZhLXZhci1tYWduZXQsXG4gIFwiamFyXCI6ICRmYS12YXItamFyLFxuICBcIm5vdGUtc3RpY2t5XCI6ICRmYS12YXItbm90ZS1zdGlja3ksXG4gIFwic3RpY2t5LW5vdGVcIjogJGZhLXZhci1zdGlja3ktbm90ZSxcbiAgXCJidWctc2xhc2hcIjogJGZhLXZhci1idWctc2xhc2gsXG4gIFwiYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wXCI6ICRmYS12YXItYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wLFxuICBcImJvbmVcIjogJGZhLXZhci1ib25lLFxuICBcInVzZXItaW5qdXJlZFwiOiAkZmEtdmFyLXVzZXItaW5qdXJlZCxcbiAgXCJmYWNlLXNhZC10ZWFyXCI6ICRmYS12YXItZmFjZS1zYWQtdGVhcixcbiAgXCJzYWQtdGVhclwiOiAkZmEtdmFyLXNhZC10ZWFyLFxuICBcInBsYW5lXCI6ICRmYS12YXItcGxhbmUsXG4gIFwidGVudC1hcnJvd3MtZG93blwiOiAkZmEtdmFyLXRlbnQtYXJyb3dzLWRvd24sXG4gIFwiZXhjbGFtYXRpb25cIjogJGZhLXZhci1leGNsYW1hdGlvbixcbiAgXCJhcnJvd3Mtc3BpblwiOiAkZmEtdmFyLWFycm93cy1zcGluLFxuICBcInByaW50XCI6ICRmYS12YXItcHJpbnQsXG4gIFwidHVya2lzaC1saXJhLXNpZ25cIjogJGZhLXZhci10dXJraXNoLWxpcmEtc2lnbixcbiAgXCJ0cnlcIjogJGZhLXZhci10cnksXG4gIFwidHVya2lzaC1saXJhXCI6ICRmYS12YXItdHVya2lzaC1saXJhLFxuICBcImRvbGxhci1zaWduXCI6ICRmYS12YXItZG9sbGFyLXNpZ24sXG4gIFwiZG9sbGFyXCI6ICRmYS12YXItZG9sbGFyLFxuICBcInVzZFwiOiAkZmEtdmFyLXVzZCxcbiAgXCJ4XCI6ICRmYS12YXIteCxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWRvbGxhclwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyLFxuICBcInNlYXJjaC1kb2xsYXJcIjogJGZhLXZhci1zZWFyY2gtZG9sbGFyLFxuICBcInVzZXJzLWdlYXJcIjogJGZhLXZhci11c2Vycy1nZWFyLFxuICBcInVzZXJzLWNvZ1wiOiAkZmEtdmFyLXVzZXJzLWNvZyxcbiAgXCJwZXJzb24tbWlsaXRhcnktcG9pbnRpbmdcIjogJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcG9pbnRpbmcsXG4gIFwiYnVpbGRpbmctY29sdW1uc1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWNvbHVtbnMsXG4gIFwiYmFua1wiOiAkZmEtdmFyLWJhbmssXG4gIFwiaW5zdGl0dXRpb25cIjogJGZhLXZhci1pbnN0aXR1dGlvbixcbiAgXCJtdXNldW1cIjogJGZhLXZhci1tdXNldW0sXG4gIFwidW5pdmVyc2l0eVwiOiAkZmEtdmFyLXVuaXZlcnNpdHksXG4gIFwidW1icmVsbGFcIjogJGZhLXZhci11bWJyZWxsYSxcbiAgXCJ0cm93ZWxcIjogJGZhLXZhci10cm93ZWwsXG4gIFwiZFwiOiAkZmEtdmFyLWQsXG4gIFwic3RhcGxlclwiOiAkZmEtdmFyLXN0YXBsZXIsXG4gIFwibWFza3MtdGhlYXRlclwiOiAkZmEtdmFyLW1hc2tzLXRoZWF0ZXIsXG4gIFwidGhlYXRlci1tYXNrc1wiOiAkZmEtdmFyLXRoZWF0ZXItbWFza3MsXG4gIFwia2lwLXNpZ25cIjogJGZhLXZhci1raXAtc2lnbixcbiAgXCJoYW5kLXBvaW50LWxlZnRcIjogJGZhLXZhci1oYW5kLXBvaW50LWxlZnQsXG4gIFwiaGFuZHNoYWtlLXNpbXBsZVwiOiAkZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGUsXG4gIFwiaGFuZHNoYWtlLWFsdFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1hbHQsXG4gIFwiamV0LWZpZ2h0ZXJcIjogJGZhLXZhci1qZXQtZmlnaHRlcixcbiAgXCJmaWdodGVyLWpldFwiOiAkZmEtdmFyLWZpZ2h0ZXItamV0LFxuICBcInNxdWFyZS1zaGFyZS1ub2Rlc1wiOiAkZmEtdmFyLXNxdWFyZS1zaGFyZS1ub2RlcyxcbiAgXCJzaGFyZS1hbHQtc3F1YXJlXCI6ICRmYS12YXItc2hhcmUtYWx0LXNxdWFyZSxcbiAgXCJiYXJjb2RlXCI6ICRmYS12YXItYmFyY29kZSxcbiAgXCJwbHVzLW1pbnVzXCI6ICRmYS12YXItcGx1cy1taW51cyxcbiAgXCJ2aWRlb1wiOiAkZmEtdmFyLXZpZGVvLFxuICBcInZpZGVvLWNhbWVyYVwiOiAkZmEtdmFyLXZpZGVvLWNhbWVyYSxcbiAgXCJncmFkdWF0aW9uLWNhcFwiOiAkZmEtdmFyLWdyYWR1YXRpb24tY2FwLFxuICBcIm1vcnRhci1ib2FyZFwiOiAkZmEtdmFyLW1vcnRhci1ib2FyZCxcbiAgXCJoYW5kLWhvbGRpbmctbWVkaWNhbFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1tZWRpY2FsLFxuICBcInBlcnNvbi1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLWNoZWNrLFxuICBcInR1cm4tdXBcIjogJGZhLXZhci10dXJuLXVwLFxuICBcImxldmVsLXVwLWFsdFwiOiAkZmEtdmFyLWxldmVsLXVwLWFsdCxcbik7XG5cbiRmYS1icmFuZC1pY29uczogKFxuICBcIm1vbmVyb1wiOiAkZmEtdmFyLW1vbmVybyxcbiAgXCJob29saVwiOiAkZmEtdmFyLWhvb2xpLFxuICBcInllbHBcIjogJGZhLXZhci15ZWxwLFxuICBcImNjLXZpc2FcIjogJGZhLXZhci1jYy12aXNhLFxuICBcImxhc3RmbVwiOiAkZmEtdmFyLWxhc3RmbSxcbiAgXCJzaG9wd2FyZVwiOiAkZmEtdmFyLXNob3B3YXJlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtbmNcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLFxuICBcImF3c1wiOiAkZmEtdmFyLWF3cyxcbiAgXCJyZWRoYXRcIjogJGZhLXZhci1yZWRoYXQsXG4gIFwieW9hc3RcIjogJGZhLXZhci15b2FzdCxcbiAgXCJjbG91ZGZsYXJlXCI6ICRmYS12YXItY2xvdWRmbGFyZSxcbiAgXCJ1cHNcIjogJGZhLXZhci11cHMsXG4gIFwicGl4aXZcIjogJGZhLXZhci1waXhpdixcbiAgXCJ3cGV4cGxvcmVyXCI6ICRmYS12YXItd3BleHBsb3JlcixcbiAgXCJkeWFsb2dcIjogJGZhLXZhci1keWFsb2csXG4gIFwiYml0eVwiOiAkZmEtdmFyLWJpdHksXG4gIFwic3RhY2twYXRoXCI6ICRmYS12YXItc3RhY2twYXRoLFxuICBcImJ1eXNlbGxhZHNcIjogJGZhLXZhci1idXlzZWxsYWRzLFxuICBcImZpcnN0LW9yZGVyXCI6ICRmYS12YXItZmlyc3Qtb3JkZXIsXG4gIFwibW9keFwiOiAkZmEtdmFyLW1vZHgsXG4gIFwiZ3VpbGRlZFwiOiAkZmEtdmFyLWd1aWxkZWQsXG4gIFwidm52XCI6ICRmYS12YXItdm52LFxuICBcInNxdWFyZS1qc1wiOiAkZmEtdmFyLXNxdWFyZS1qcyxcbiAgXCJqcy1zcXVhcmVcIjogJGZhLXZhci1qcy1zcXVhcmUsXG4gIFwibWljcm9zb2Z0XCI6ICRmYS12YXItbWljcm9zb2Z0LFxuICBcInFxXCI6ICRmYS12YXItcXEsXG4gIFwib3JjaWRcIjogJGZhLXZhci1vcmNpZCxcbiAgXCJqYXZhXCI6ICRmYS12YXItamF2YSxcbiAgXCJpbnZpc2lvblwiOiAkZmEtdmFyLWludmlzaW9uLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQsXG4gIFwiY2VudGVyY29kZVwiOiAkZmEtdmFyLWNlbnRlcmNvZGUsXG4gIFwiZ2xpZGUtZ1wiOiAkZmEtdmFyLWdsaWRlLWcsXG4gIFwiZHJ1cGFsXCI6ICRmYS12YXItZHJ1cGFsLFxuICBcImhpcmUtYS1oZWxwZXJcIjogJGZhLXZhci1oaXJlLWEtaGVscGVyLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtYnlcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5LFxuICBcInVuaXR5XCI6ICRmYS12YXItdW5pdHksXG4gIFwid2htY3NcIjogJGZhLXZhci13aG1jcyxcbiAgXCJyb2NrZXRjaGF0XCI6ICRmYS12YXItcm9ja2V0Y2hhdCxcbiAgXCJ2a1wiOiAkZmEtdmFyLXZrLFxuICBcInVudGFwcGRcIjogJGZhLXZhci11bnRhcHBkLFxuICBcIm1haWxjaGltcFwiOiAkZmEtdmFyLW1haWxjaGltcCxcbiAgXCJjc3MzLWFsdFwiOiAkZmEtdmFyLWNzczMtYWx0LFxuICBcInNxdWFyZS1yZWRkaXRcIjogJGZhLXZhci1zcXVhcmUtcmVkZGl0LFxuICBcInJlZGRpdC1zcXVhcmVcIjogJGZhLXZhci1yZWRkaXQtc3F1YXJlLFxuICBcInZpbWVvLXZcIjogJGZhLXZhci12aW1lby12LFxuICBcImNvbnRhb1wiOiAkZmEtdmFyLWNvbnRhbyxcbiAgXCJzcXVhcmUtZm9udC1hd2Vzb21lXCI6ICRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZSxcbiAgXCJkZXNrcHJvXCI6ICRmYS12YXItZGVza3BybyxcbiAgXCJicmF2ZVwiOiAkZmEtdmFyLWJyYXZlLFxuICBcInNpc3RyaXhcIjogJGZhLXZhci1zaXN0cml4LFxuICBcInNxdWFyZS1pbnN0YWdyYW1cIjogJGZhLXZhci1zcXVhcmUtaW5zdGFncmFtLFxuICBcImluc3RhZ3JhbS1zcXVhcmVcIjogJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlLFxuICBcImJhdHRsZS1uZXRcIjogJGZhLXZhci1iYXR0bGUtbmV0LFxuICBcInRoZS1yZWQteWV0aVwiOiAkZmEtdmFyLXRoZS1yZWQteWV0aSxcbiAgXCJzcXVhcmUtaGFja2VyLW5ld3NcIjogJGZhLXZhci1zcXVhcmUtaGFja2VyLW5ld3MsXG4gIFwiaGFja2VyLW5ld3Mtc3F1YXJlXCI6ICRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlLFxuICBcImVkZ2VcIjogJGZhLXZhci1lZGdlLFxuICBcInRocmVhZHNcIjogJGZhLXZhci10aHJlYWRzLFxuICBcIm5hcHN0ZXJcIjogJGZhLXZhci1uYXBzdGVyLFxuICBcInNxdWFyZS1zbmFwY2hhdFwiOiAkZmEtdmFyLXNxdWFyZS1zbmFwY2hhdCxcbiAgXCJzbmFwY2hhdC1zcXVhcmVcIjogJGZhLXZhci1zbmFwY2hhdC1zcXVhcmUsXG4gIFwiZ29vZ2xlLXBsdXMtZ1wiOiAkZmEtdmFyLWdvb2dsZS1wbHVzLWcsXG4gIFwiYXJ0c3RhdGlvblwiOiAkZmEtdmFyLWFydHN0YXRpb24sXG4gIFwibWFya2Rvd25cIjogJGZhLXZhci1tYXJrZG93bixcbiAgXCJzb3VyY2V0cmVlXCI6ICRmYS12YXItc291cmNldHJlZSxcbiAgXCJnb29nbGUtcGx1c1wiOiAkZmEtdmFyLWdvb2dsZS1wbHVzLFxuICBcImRpYXNwb3JhXCI6ICRmYS12YXItZGlhc3BvcmEsXG4gIFwiZm91cnNxdWFyZVwiOiAkZmEtdmFyLWZvdXJzcXVhcmUsXG4gIFwic3RhY2stb3ZlcmZsb3dcIjogJGZhLXZhci1zdGFjay1vdmVyZmxvdyxcbiAgXCJnaXRodWItYWx0XCI6ICRmYS12YXItZ2l0aHViLWFsdCxcbiAgXCJwaG9lbml4LXNxdWFkcm9uXCI6ICRmYS12YXItcGhvZW5peC1zcXVhZHJvbixcbiAgXCJwYWdlbGluZXNcIjogJGZhLXZhci1wYWdlbGluZXMsXG4gIFwiYWxnb2xpYVwiOiAkZmEtdmFyLWFsZ29saWEsXG4gIFwicmVkLXJpdmVyXCI6ICRmYS12YXItcmVkLXJpdmVyLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2FcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhLFxuICBcInNhZmFyaVwiOiAkZmEtdmFyLXNhZmFyaSxcbiAgXCJnb29nbGVcIjogJGZhLXZhci1nb29nbGUsXG4gIFwic3F1YXJlLWZvbnQtYXdlc29tZS1zdHJva2VcIjogJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZSxcbiAgXCJmb250LWF3ZXNvbWUtYWx0XCI6ICRmYS12YXItZm9udC1hd2Vzb21lLWFsdCxcbiAgXCJhdGxhc3NpYW5cIjogJGZhLXZhci1hdGxhc3NpYW4sXG4gIFwibGlua2VkaW4taW5cIjogJGZhLXZhci1saW5rZWRpbi1pbixcbiAgXCJkaWdpdGFsLW9jZWFuXCI6ICRmYS12YXItZGlnaXRhbC1vY2VhbixcbiAgXCJuaW1ibHJcIjogJGZhLXZhci1uaW1ibHIsXG4gIFwiY2hyb21lY2FzdFwiOiAkZmEtdmFyLWNocm9tZWNhc3QsXG4gIFwiZXZlcm5vdGVcIjogJGZhLXZhci1ldmVybm90ZSxcbiAgXCJoYWNrZXItbmV3c1wiOiAkZmEtdmFyLWhhY2tlci1uZXdzLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmdcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLFxuICBcImFkdmVyc2FsXCI6ICRmYS12YXItYWR2ZXJzYWwsXG4gIFwiY3JlYXRpdmUtY29tbW9uc1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMsXG4gIFwid2F0Y2htYW4tbW9uaXRvcmluZ1wiOiAkZmEtdmFyLXdhdGNobWFuLW1vbml0b3JpbmcsXG4gIFwiZm9udGljb25zXCI6ICRmYS12YXItZm9udGljb25zLFxuICBcIndlaXhpblwiOiAkZmEtdmFyLXdlaXhpbixcbiAgXCJzaGlydHNpbmJ1bGtcIjogJGZhLXZhci1zaGlydHNpbmJ1bGssXG4gIFwiY29kZXBlblwiOiAkZmEtdmFyLWNvZGVwZW4sXG4gIFwiZ2l0LWFsdFwiOiAkZmEtdmFyLWdpdC1hbHQsXG4gIFwibHlmdFwiOiAkZmEtdmFyLWx5ZnQsXG4gIFwicmV2XCI6ICRmYS12YXItcmV2LFxuICBcIndpbmRvd3NcIjogJGZhLXZhci13aW5kb3dzLFxuICBcIndpemFyZHMtb2YtdGhlLWNvYXN0XCI6ICRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3QsXG4gIFwic3F1YXJlLXZpYWRlb1wiOiAkZmEtdmFyLXNxdWFyZS12aWFkZW8sXG4gIFwidmlhZGVvLXNxdWFyZVwiOiAkZmEtdmFyLXZpYWRlby1zcXVhcmUsXG4gIFwibWVldHVwXCI6ICRmYS12YXItbWVldHVwLFxuICBcImNlbnRvc1wiOiAkZmEtdmFyLWNlbnRvcyxcbiAgXCJhZG5cIjogJGZhLXZhci1hZG4sXG4gIFwiY2xvdWRzbWl0aFwiOiAkZmEtdmFyLWNsb3Vkc21pdGgsXG4gIFwib3BlbnN1c2VcIjogJGZhLXZhci1vcGVuc3VzZSxcbiAgXCJwaWVkLXBpcGVyLWFsdFwiOiAkZmEtdmFyLXBpZWQtcGlwZXItYWx0LFxuICBcInNxdWFyZS1kcmliYmJsZVwiOiAkZmEtdmFyLXNxdWFyZS1kcmliYmJsZSxcbiAgXCJkcmliYmJsZS1zcXVhcmVcIjogJGZhLXZhci1kcmliYmJsZS1zcXVhcmUsXG4gIFwiY29kaWVwaWVcIjogJGZhLXZhci1jb2RpZXBpZSxcbiAgXCJub2RlXCI6ICRmYS12YXItbm9kZSxcbiAgXCJtaXhcIjogJGZhLXZhci1taXgsXG4gIFwic3RlYW1cIjogJGZhLXZhci1zdGVhbSxcbiAgXCJjYy1hcHBsZS1wYXlcIjogJGZhLXZhci1jYy1hcHBsZS1wYXksXG4gIFwic2NyaWJkXCI6ICRmYS12YXItc2NyaWJkLFxuICBcImRlYmlhblwiOiAkZmEtdmFyLWRlYmlhbixcbiAgXCJvcGVuaWRcIjogJGZhLXZhci1vcGVuaWQsXG4gIFwiaW5zdGFsb2RcIjogJGZhLXZhci1pbnN0YWxvZCxcbiAgXCJleHBlZGl0ZWRzc2xcIjogJGZhLXZhci1leHBlZGl0ZWRzc2wsXG4gIFwic2VsbGNhc3RcIjogJGZhLXZhci1zZWxsY2FzdCxcbiAgXCJzcXVhcmUtdHdpdHRlclwiOiAkZmEtdmFyLXNxdWFyZS10d2l0dGVyLFxuICBcInR3aXR0ZXItc3F1YXJlXCI6ICRmYS12YXItdHdpdHRlci1zcXVhcmUsXG4gIFwici1wcm9qZWN0XCI6ICRmYS12YXItci1wcm9qZWN0LFxuICBcImRlbGljaW91c1wiOiAkZmEtdmFyLWRlbGljaW91cyxcbiAgXCJmcmVlYnNkXCI6ICRmYS12YXItZnJlZWJzZCxcbiAgXCJ2dWVqc1wiOiAkZmEtdmFyLXZ1ZWpzLFxuICBcImFjY3Vzb2Z0XCI6ICRmYS12YXItYWNjdXNvZnQsXG4gIFwiaW94aG9zdFwiOiAkZmEtdmFyLWlveGhvc3QsXG4gIFwiZm9udGljb25zLWZpXCI6ICRmYS12YXItZm9udGljb25zLWZpLFxuICBcImFwcC1zdG9yZVwiOiAkZmEtdmFyLWFwcC1zdG9yZSxcbiAgXCJjYy1tYXN0ZXJjYXJkXCI6ICRmYS12YXItY2MtbWFzdGVyY2FyZCxcbiAgXCJpdHVuZXMtbm90ZVwiOiAkZmEtdmFyLWl0dW5lcy1ub3RlLFxuICBcImdvbGFuZ1wiOiAkZmEtdmFyLWdvbGFuZyxcbiAgXCJraWNrc3RhcnRlclwiOiAkZmEtdmFyLWtpY2tzdGFydGVyLFxuICBcImdyYXZcIjogJGZhLXZhci1ncmF2LFxuICBcIndlaWJvXCI6ICRmYS12YXItd2VpYm8sXG4gIFwidW5jaGFydGVkXCI6ICRmYS12YXItdW5jaGFydGVkLFxuICBcImZpcnN0ZHJhZnRcIjogJGZhLXZhci1maXJzdGRyYWZ0LFxuICBcInNxdWFyZS15b3V0dWJlXCI6ICRmYS12YXItc3F1YXJlLXlvdXR1YmUsXG4gIFwieW91dHViZS1zcXVhcmVcIjogJGZhLXZhci15b3V0dWJlLXNxdWFyZSxcbiAgXCJ3aWtpcGVkaWEtd1wiOiAkZmEtdmFyLXdpa2lwZWRpYS13LFxuICBcIndwcmVzc3JcIjogJGZhLXZhci13cHJlc3NyLFxuICBcInJlbmRhY3RcIjogJGZhLXZhci1yZW5kYWN0LFxuICBcImFuZ2VsbGlzdFwiOiAkZmEtdmFyLWFuZ2VsbGlzdCxcbiAgXCJnYWxhY3RpYy1yZXB1YmxpY1wiOiAkZmEtdmFyLWdhbGFjdGljLXJlcHVibGljLFxuICBcIm5mYy1kaXJlY3Rpb25hbFwiOiAkZmEtdmFyLW5mYy1kaXJlY3Rpb25hbCxcbiAgXCJza3lwZVwiOiAkZmEtdmFyLXNreXBlLFxuICBcImpvZ2V0XCI6ICRmYS12YXItam9nZXQsXG4gIFwiZmVkb3JhXCI6ICRmYS12YXItZmVkb3JhLFxuICBcInN0cmlwZS1zXCI6ICRmYS12YXItc3RyaXBlLXMsXG4gIFwibWV0YVwiOiAkZmEtdmFyLW1ldGEsXG4gIFwibGFyYXZlbFwiOiAkZmEtdmFyLWxhcmF2ZWwsXG4gIFwiaG90amFyXCI6ICRmYS12YXItaG90amFyLFxuICBcImJsdWV0b290aC1iXCI6ICRmYS12YXItYmx1ZXRvb3RoLWIsXG4gIFwic3F1YXJlLWxldHRlcmJveGRcIjogJGZhLXZhci1zcXVhcmUtbGV0dGVyYm94ZCxcbiAgXCJzdGlja2VyLW11bGVcIjogJGZhLXZhci1zdGlja2VyLW11bGUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy16ZXJvXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvLFxuICBcImhpcHNcIjogJGZhLXZhci1oaXBzLFxuICBcImJlaGFuY2VcIjogJGZhLXZhci1iZWhhbmNlLFxuICBcInJlZGRpdFwiOiAkZmEtdmFyLXJlZGRpdCxcbiAgXCJkaXNjb3JkXCI6ICRmYS12YXItZGlzY29yZCxcbiAgXCJjaHJvbWVcIjogJGZhLXZhci1jaHJvbWUsXG4gIFwiYXBwLXN0b3JlLWlvc1wiOiAkZmEtdmFyLWFwcC1zdG9yZS1pb3MsXG4gIFwiY2MtZGlzY292ZXJcIjogJGZhLXZhci1jYy1kaXNjb3ZlcixcbiAgXCJ3cGJlZ2lubmVyXCI6ICRmYS12YXItd3BiZWdpbm5lcixcbiAgXCJjb25mbHVlbmNlXCI6ICRmYS12YXItY29uZmx1ZW5jZSxcbiAgXCJzaG9lbGFjZVwiOiAkZmEtdmFyLXNob2VsYWNlLFxuICBcIm1kYlwiOiAkZmEtdmFyLW1kYixcbiAgXCJkb2NodWJcIjogJGZhLXZhci1kb2NodWIsXG4gIFwiYWNjZXNzaWJsZS1pY29uXCI6ICRmYS12YXItYWNjZXNzaWJsZS1pY29uLFxuICBcImViYXlcIjogJGZhLXZhci1lYmF5LFxuICBcImFtYXpvblwiOiAkZmEtdmFyLWFtYXpvbixcbiAgXCJ1bnNwbGFzaFwiOiAkZmEtdmFyLXVuc3BsYXNoLFxuICBcInlhcm5cIjogJGZhLXZhci15YXJuLFxuICBcInNxdWFyZS1zdGVhbVwiOiAkZmEtdmFyLXNxdWFyZS1zdGVhbSxcbiAgXCJzdGVhbS1zcXVhcmVcIjogJGZhLXZhci1zdGVhbS1zcXVhcmUsXG4gIFwiNTAwcHhcIjogJGZhLXZhci01MDBweCxcbiAgXCJzcXVhcmUtdmltZW9cIjogJGZhLXZhci1zcXVhcmUtdmltZW8sXG4gIFwidmltZW8tc3F1YXJlXCI6ICRmYS12YXItdmltZW8tc3F1YXJlLFxuICBcImFzeW1tZXRyaWtcIjogJGZhLXZhci1hc3ltbWV0cmlrLFxuICBcImZvbnQtYXdlc29tZVwiOiAkZmEtdmFyLWZvbnQtYXdlc29tZSxcbiAgXCJmb250LWF3ZXNvbWUtZmxhZ1wiOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnLFxuICBcImZvbnQtYXdlc29tZS1sb2dvLWZ1bGxcIjogJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsLFxuICBcImdyYXRpcGF5XCI6ICRmYS12YXItZ3JhdGlwYXksXG4gIFwiYXBwbGVcIjogJGZhLXZhci1hcHBsZSxcbiAgXCJoaXZlXCI6ICRmYS12YXItaGl2ZSxcbiAgXCJnaXRrcmFrZW5cIjogJGZhLXZhci1naXRrcmFrZW4sXG4gIFwia2V5YmFzZVwiOiAkZmEtdmFyLWtleWJhc2UsXG4gIFwiYXBwbGUtcGF5XCI6ICRmYS12YXItYXBwbGUtcGF5LFxuICBcInBhZGxldFwiOiAkZmEtdmFyLXBhZGxldCxcbiAgXCJhbWF6b24tcGF5XCI6ICRmYS12YXItYW1hem9uLXBheSxcbiAgXCJzcXVhcmUtZ2l0aHViXCI6ICRmYS12YXItc3F1YXJlLWdpdGh1YixcbiAgXCJnaXRodWItc3F1YXJlXCI6ICRmYS12YXItZ2l0aHViLXNxdWFyZSxcbiAgXCJzdHVtYmxldXBvblwiOiAkZmEtdmFyLXN0dW1ibGV1cG9uLFxuICBcImZlZGV4XCI6ICRmYS12YXItZmVkZXgsXG4gIFwicGhvZW5peC1mcmFtZXdvcmtcIjogJGZhLXZhci1waG9lbml4LWZyYW1ld29yayxcbiAgXCJzaG9waWZ5XCI6ICRmYS12YXItc2hvcGlmeSxcbiAgXCJuZW9zXCI6ICRmYS12YXItbmVvcyxcbiAgXCJzcXVhcmUtdGhyZWFkc1wiOiAkZmEtdmFyLXNxdWFyZS10aHJlYWRzLFxuICBcImhhY2tlcnJhbmtcIjogJGZhLXZhci1oYWNrZXJyYW5rLFxuICBcInJlc2VhcmNoZ2F0ZVwiOiAkZmEtdmFyLXJlc2VhcmNoZ2F0ZSxcbiAgXCJzd2lmdFwiOiAkZmEtdmFyLXN3aWZ0LFxuICBcImFuZ3VsYXJcIjogJGZhLXZhci1hbmd1bGFyLFxuICBcInNwZWFrYXBcIjogJGZhLXZhci1zcGVha2FwLFxuICBcImFuZ3J5Y3JlYXRpdmVcIjogJGZhLXZhci1hbmdyeWNyZWF0aXZlLFxuICBcInktY29tYmluYXRvclwiOiAkZmEtdmFyLXktY29tYmluYXRvcixcbiAgXCJlbXBpcmVcIjogJGZhLXZhci1lbXBpcmUsXG4gIFwiZW52aXJhXCI6ICRmYS12YXItZW52aXJhLFxuICBcImdvb2dsZS1zY2hvbGFyXCI6ICRmYS12YXItZ29vZ2xlLXNjaG9sYXIsXG4gIFwic3F1YXJlLWdpdGxhYlwiOiAkZmEtdmFyLXNxdWFyZS1naXRsYWIsXG4gIFwiZ2l0bGFiLXNxdWFyZVwiOiAkZmEtdmFyLWdpdGxhYi1zcXVhcmUsXG4gIFwic3R1ZGlvdmluYXJpXCI6ICRmYS12YXItc3R1ZGlvdmluYXJpLFxuICBcInBpZWQtcGlwZXJcIjogJGZhLXZhci1waWVkLXBpcGVyLFxuICBcIndvcmRwcmVzc1wiOiAkZmEtdmFyLXdvcmRwcmVzcyxcbiAgXCJwcm9kdWN0LWh1bnRcIjogJGZhLXZhci1wcm9kdWN0LWh1bnQsXG4gIFwiZmlyZWZveFwiOiAkZmEtdmFyLWZpcmVmb3gsXG4gIFwibGlub2RlXCI6ICRmYS12YXItbGlub2RlLFxuICBcImdvb2RyZWFkc1wiOiAkZmEtdmFyLWdvb2RyZWFkcyxcbiAgXCJzcXVhcmUtb2Rub2tsYXNzbmlraVwiOiAkZmEtdmFyLXNxdWFyZS1vZG5va2xhc3NuaWtpLFxuICBcIm9kbm9rbGFzc25pa2ktc3F1YXJlXCI6ICRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmUsXG4gIFwianNmaWRkbGVcIjogJGZhLXZhci1qc2ZpZGRsZSxcbiAgXCJzaXRoXCI6ICRmYS12YXItc2l0aCxcbiAgXCJ0aGVtZWlzbGVcIjogJGZhLXZhci10aGVtZWlzbGUsXG4gIFwicGFnZTRcIjogJGZhLXZhci1wYWdlNCxcbiAgXCJoYXNobm9kZVwiOiAkZmEtdmFyLWhhc2hub2RlLFxuICBcInJlYWN0XCI6ICRmYS12YXItcmVhY3QsXG4gIFwiY2MtcGF5cGFsXCI6ICRmYS12YXItY2MtcGF5cGFsLFxuICBcInNxdWFyZXNwYWNlXCI6ICRmYS12YXItc3F1YXJlc3BhY2UsXG4gIFwiY2Mtc3RyaXBlXCI6ICRmYS12YXItY2Mtc3RyaXBlLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2hhcmVcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNoYXJlLFxuICBcImJpdGNvaW5cIjogJGZhLXZhci1iaXRjb2luLFxuICBcImtleWNkblwiOiAkZmEtdmFyLWtleWNkbixcbiAgXCJvcGVyYVwiOiAkZmEtdmFyLW9wZXJhLFxuICBcIml0Y2gtaW9cIjogJGZhLXZhci1pdGNoLWlvLFxuICBcInVtYnJhY29cIjogJGZhLXZhci11bWJyYWNvLFxuICBcImdhbGFjdGljLXNlbmF0ZVwiOiAkZmEtdmFyLWdhbGFjdGljLXNlbmF0ZSxcbiAgXCJ1YnVudHVcIjogJGZhLXZhci11YnVudHUsXG4gIFwiZHJhZnQyZGlnaXRhbFwiOiAkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwsXG4gIFwic3RyaXBlXCI6ICRmYS12YXItc3RyaXBlLFxuICBcImhvdXp6XCI6ICRmYS12YXItaG91enosXG4gIFwiZ2dcIjogJGZhLXZhci1nZyxcbiAgXCJkaGxcIjogJGZhLXZhci1kaGwsXG4gIFwic3F1YXJlLXBpbnRlcmVzdFwiOiAkZmEtdmFyLXNxdWFyZS1waW50ZXJlc3QsXG4gIFwicGludGVyZXN0LXNxdWFyZVwiOiAkZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmUsXG4gIFwieGluZ1wiOiAkZmEtdmFyLXhpbmcsXG4gIFwiYmxhY2tiZXJyeVwiOiAkZmEtdmFyLWJsYWNrYmVycnksXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1wZFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQsXG4gIFwicGxheXN0YXRpb25cIjogJGZhLXZhci1wbGF5c3RhdGlvbixcbiAgXCJxdWluc2NhcGVcIjogJGZhLXZhci1xdWluc2NhcGUsXG4gIFwibGVzc1wiOiAkZmEtdmFyLWxlc3MsXG4gIFwiYmxvZ2dlci1iXCI6ICRmYS12YXItYmxvZ2dlci1iLFxuICBcIm9wZW5jYXJ0XCI6ICRmYS12YXItb3BlbmNhcnQsXG4gIFwidmluZVwiOiAkZmEtdmFyLXZpbmUsXG4gIFwic2lnbmFsLW1lc3NlbmdlclwiOiAkZmEtdmFyLXNpZ25hbC1tZXNzZW5nZXIsXG4gIFwicGF5cGFsXCI6ICRmYS12YXItcGF5cGFsLFxuICBcImdpdGxhYlwiOiAkZmEtdmFyLWdpdGxhYixcbiAgXCJ0eXBvM1wiOiAkZmEtdmFyLXR5cG8zLFxuICBcInJlZGRpdC1hbGllblwiOiAkZmEtdmFyLXJlZGRpdC1hbGllbixcbiAgXCJ5YWhvb1wiOiAkZmEtdmFyLXlhaG9vLFxuICBcImRhaWx5bW90aW9uXCI6ICRmYS12YXItZGFpbHltb3Rpb24sXG4gIFwiYWZmaWxpYXRldGhlbWVcIjogJGZhLXZhci1hZmZpbGlhdGV0aGVtZSxcbiAgXCJwaWVkLXBpcGVyLXBwXCI6ICRmYS12YXItcGllZC1waXBlci1wcCxcbiAgXCJib290c3RyYXBcIjogJGZhLXZhci1ib290c3RyYXAsXG4gIFwib2Rub2tsYXNzbmlraVwiOiAkZmEtdmFyLW9kbm9rbGFzc25pa2ksXG4gIFwibmZjLXN5bWJvbFwiOiAkZmEtdmFyLW5mYy1zeW1ib2wsXG4gIFwibWludGJpdFwiOiAkZmEtdmFyLW1pbnRiaXQsXG4gIFwiZXRoZXJldW1cIjogJGZhLXZhci1ldGhlcmV1bSxcbiAgXCJzcGVha2VyLWRlY2tcIjogJGZhLXZhci1zcGVha2VyLWRlY2ssXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uYy1ldVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXUsXG4gIFwicGF0cmVvblwiOiAkZmEtdmFyLXBhdHJlb24sXG4gIFwiYXZpYW5leFwiOiAkZmEtdmFyLWF2aWFuZXgsXG4gIFwiZWxsb1wiOiAkZmEtdmFyLWVsbG8sXG4gIFwiZ29mb3JlXCI6ICRmYS12YXItZ29mb3JlLFxuICBcImJpbW9iamVjdFwiOiAkZmEtdmFyLWJpbW9iamVjdCxcbiAgXCJicmF2ZS1yZXZlcnNlXCI6ICRmYS12YXItYnJhdmUtcmV2ZXJzZSxcbiAgXCJmYWNlYm9vay1mXCI6ICRmYS12YXItZmFjZWJvb2stZixcbiAgXCJzcXVhcmUtZ29vZ2xlLXBsdXNcIjogJGZhLXZhci1zcXVhcmUtZ29vZ2xlLXBsdXMsXG4gIFwiZ29vZ2xlLXBsdXMtc3F1YXJlXCI6ICRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlLFxuICBcIm1hbmRhbG9yaWFuXCI6ICRmYS12YXItbWFuZGFsb3JpYW4sXG4gIFwiZmlyc3Qtb3JkZXItYWx0XCI6ICRmYS12YXItZmlyc3Qtb3JkZXItYWx0LFxuICBcIm9zaVwiOiAkZmEtdmFyLW9zaSxcbiAgXCJnb29nbGUtd2FsbGV0XCI6ICRmYS12YXItZ29vZ2xlLXdhbGxldCxcbiAgXCJkLWFuZC1kLWJleW9uZFwiOiAkZmEtdmFyLWQtYW5kLWQtYmV5b25kLFxuICBcInBlcmlzY29wZVwiOiAkZmEtdmFyLXBlcmlzY29wZSxcbiAgXCJmdWxjcnVtXCI6ICRmYS12YXItZnVsY3J1bSxcbiAgXCJjbG91ZHNjYWxlXCI6ICRmYS12YXItY2xvdWRzY2FsZSxcbiAgXCJmb3J1bWJlZVwiOiAkZmEtdmFyLWZvcnVtYmVlLFxuICBcIm1penVuaVwiOiAkZmEtdmFyLW1penVuaSxcbiAgXCJzY2hsaXhcIjogJGZhLXZhci1zY2hsaXgsXG4gIFwic3F1YXJlLXhpbmdcIjogJGZhLXZhci1zcXVhcmUteGluZyxcbiAgXCJ4aW5nLXNxdWFyZVwiOiAkZmEtdmFyLXhpbmctc3F1YXJlLFxuICBcImJhbmRjYW1wXCI6ICRmYS12YXItYmFuZGNhbXAsXG4gIFwid3Bmb3Jtc1wiOiAkZmEtdmFyLXdwZm9ybXMsXG4gIFwiY2xvdWR2ZXJzaWZ5XCI6ICRmYS12YXItY2xvdWR2ZXJzaWZ5LFxuICBcInVzcHNcIjogJGZhLXZhci11c3BzLFxuICBcIm1lZ2Fwb3J0XCI6ICRmYS12YXItbWVnYXBvcnQsXG4gIFwibWFnZW50b1wiOiAkZmEtdmFyLW1hZ2VudG8sXG4gIFwic3BvdGlmeVwiOiAkZmEtdmFyLXNwb3RpZnksXG4gIFwib3B0aW4tbW9uc3RlclwiOiAkZmEtdmFyLW9wdGluLW1vbnN0ZXIsXG4gIFwiZmx5XCI6ICRmYS12YXItZmx5LFxuICBcImF2aWF0b1wiOiAkZmEtdmFyLWF2aWF0byxcbiAgXCJpdHVuZXNcIjogJGZhLXZhci1pdHVuZXMsXG4gIFwiY3V0dGxlZmlzaFwiOiAkZmEtdmFyLWN1dHRsZWZpc2gsXG4gIFwiYmxvZ2dlclwiOiAkZmEtdmFyLWJsb2dnZXIsXG4gIFwiZmxpY2tyXCI6ICRmYS12YXItZmxpY2tyLFxuICBcInZpYmVyXCI6ICRmYS12YXItdmliZXIsXG4gIFwic291bmRjbG91ZFwiOiAkZmEtdmFyLXNvdW5kY2xvdWQsXG4gIFwiZGlnZ1wiOiAkZmEtdmFyLWRpZ2csXG4gIFwidGVuY2VudC13ZWlib1wiOiAkZmEtdmFyLXRlbmNlbnQtd2VpYm8sXG4gIFwibGV0dGVyYm94ZFwiOiAkZmEtdmFyLWxldHRlcmJveGQsXG4gIFwic3ltZm9ueVwiOiAkZmEtdmFyLXN5bWZvbnksXG4gIFwibWF4Y2RuXCI6ICRmYS12YXItbWF4Y2RuLFxuICBcImV0c3lcIjogJGZhLXZhci1ldHN5LFxuICBcImZhY2Vib29rLW1lc3NlbmdlclwiOiAkZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcixcbiAgXCJhdWRpYmxlXCI6ICRmYS12YXItYXVkaWJsZSxcbiAgXCJ0aGluay1wZWFrc1wiOiAkZmEtdmFyLXRoaW5rLXBlYWtzLFxuICBcImJpbGliaWxpXCI6ICRmYS12YXItYmlsaWJpbGksXG4gIFwiZXJsYW5nXCI6ICRmYS12YXItZXJsYW5nLFxuICBcIngtdHdpdHRlclwiOiAkZmEtdmFyLXgtdHdpdHRlcixcbiAgXCJjb3R0b24tYnVyZWF1XCI6ICRmYS12YXItY290dG9uLWJ1cmVhdSxcbiAgXCJkYXNoY3ViZVwiOiAkZmEtdmFyLWRhc2hjdWJlLFxuICBcIjQyLWdyb3VwXCI6ICRmYS12YXItNDItZ3JvdXAsXG4gIFwiaW5ub3NvZnRcIjogJGZhLXZhci1pbm5vc29mdCxcbiAgXCJzdGFjay1leGNoYW5nZVwiOiAkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlLFxuICBcImVsZW1lbnRvclwiOiAkZmEtdmFyLWVsZW1lbnRvcixcbiAgXCJzcXVhcmUtcGllZC1waXBlclwiOiAkZmEtdmFyLXNxdWFyZS1waWVkLXBpcGVyLFxuICBcInBpZWQtcGlwZXItc3F1YXJlXCI6ICRmYS12YXItcGllZC1waXBlci1zcXVhcmUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uZFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQsXG4gIFwicGFsZmVkXCI6ICRmYS12YXItcGFsZmVkLFxuICBcInN1cGVycG93ZXJzXCI6ICRmYS12YXItc3VwZXJwb3dlcnMsXG4gIFwicmVzb2x2aW5nXCI6ICRmYS12YXItcmVzb2x2aW5nLFxuICBcInhib3hcIjogJGZhLXZhci14Ym94LFxuICBcInNlYXJjaGVuZ2luXCI6ICRmYS12YXItc2VhcmNoZW5naW4sXG4gIFwidGlrdG9rXCI6ICRmYS12YXItdGlrdG9rLFxuICBcInNxdWFyZS1mYWNlYm9va1wiOiAkZmEtdmFyLXNxdWFyZS1mYWNlYm9vayxcbiAgXCJmYWNlYm9vay1zcXVhcmVcIjogJGZhLXZhci1mYWNlYm9vay1zcXVhcmUsXG4gIFwicmVucmVuXCI6ICRmYS12YXItcmVucmVuLFxuICBcImxpbnV4XCI6ICRmYS12YXItbGludXgsXG4gIFwiZ2xpZGVcIjogJGZhLXZhci1nbGlkZSxcbiAgXCJsaW5rZWRpblwiOiAkZmEtdmFyLWxpbmtlZGluLFxuICBcImh1YnNwb3RcIjogJGZhLXZhci1odWJzcG90LFxuICBcImRlcGxveWRvZ1wiOiAkZmEtdmFyLWRlcGxveWRvZyxcbiAgXCJ0d2l0Y2hcIjogJGZhLXZhci10d2l0Y2gsXG4gIFwicmF2ZWxyeVwiOiAkZmEtdmFyLXJhdmVscnksXG4gIFwibWl4ZXJcIjogJGZhLXZhci1taXhlcixcbiAgXCJzcXVhcmUtbGFzdGZtXCI6ICRmYS12YXItc3F1YXJlLWxhc3RmbSxcbiAgXCJsYXN0Zm0tc3F1YXJlXCI6ICRmYS12YXItbGFzdGZtLXNxdWFyZSxcbiAgXCJ2aW1lb1wiOiAkZmEtdmFyLXZpbWVvLFxuICBcIm1lbmRlbGV5XCI6ICRmYS12YXItbWVuZGVsZXksXG4gIFwidW5pcmVnaXN0cnlcIjogJGZhLXZhci11bmlyZWdpc3RyeSxcbiAgXCJmaWdtYVwiOiAkZmEtdmFyLWZpZ21hLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtcmVtaXhcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4LFxuICBcImNjLWFtYXpvbi1wYXlcIjogJGZhLXZhci1jYy1hbWF6b24tcGF5LFxuICBcImRyb3Bib3hcIjogJGZhLXZhci1kcm9wYm94LFxuICBcImluc3RhZ3JhbVwiOiAkZmEtdmFyLWluc3RhZ3JhbSxcbiAgXCJjbXBsaWRcIjogJGZhLXZhci1jbXBsaWQsXG4gIFwidXB3b3JrXCI6ICRmYS12YXItdXB3b3JrLFxuICBcImZhY2Vib29rXCI6ICRmYS12YXItZmFjZWJvb2ssXG4gIFwiZ3JpcGZpcmVcIjogJGZhLXZhci1ncmlwZmlyZSxcbiAgXCJqZWRpLW9yZGVyXCI6ICRmYS12YXItamVkaS1vcmRlcixcbiAgXCJ1aWtpdFwiOiAkZmEtdmFyLXVpa2l0LFxuICBcImZvcnQtYXdlc29tZS1hbHRcIjogJGZhLXZhci1mb3J0LWF3ZXNvbWUtYWx0LFxuICBcInBoYWJyaWNhdG9yXCI6ICRmYS12YXItcGhhYnJpY2F0b3IsXG4gIFwidXNzdW5uYWhcIjogJGZhLXZhci11c3N1bm5haCxcbiAgXCJlYXJseWJpcmRzXCI6ICRmYS12YXItZWFybHliaXJkcyxcbiAgXCJ0cmFkZS1mZWRlcmF0aW9uXCI6ICRmYS12YXItdHJhZGUtZmVkZXJhdGlvbixcbiAgXCJhdXRvcHJlZml4ZXJcIjogJGZhLXZhci1hdXRvcHJlZml4ZXIsXG4gIFwid2hhdHNhcHBcIjogJGZhLXZhci13aGF0c2FwcCxcbiAgXCJzbGlkZXNoYXJlXCI6ICRmYS12YXItc2xpZGVzaGFyZSxcbiAgXCJnb29nbGUtcGxheVwiOiAkZmEtdmFyLWdvb2dsZS1wbGF5LFxuICBcInZpYWRlb1wiOiAkZmEtdmFyLXZpYWRlbyxcbiAgXCJsaW5lXCI6ICRmYS12YXItbGluZSxcbiAgXCJnb29nbGUtZHJpdmVcIjogJGZhLXZhci1nb29nbGUtZHJpdmUsXG4gIFwic2VydmljZXN0YWNrXCI6ICRmYS12YXItc2VydmljZXN0YWNrLFxuICBcInNpbXBseWJ1aWx0XCI6ICRmYS12YXItc2ltcGx5YnVpbHQsXG4gIFwiYml0YnVja2V0XCI6ICRmYS12YXItYml0YnVja2V0LFxuICBcImltZGJcIjogJGZhLXZhci1pbWRiLFxuICBcImRlZXplclwiOiAkZmEtdmFyLWRlZXplcixcbiAgXCJyYXNwYmVycnktcGlcIjogJGZhLXZhci1yYXNwYmVycnktcGksXG4gIFwiamlyYVwiOiAkZmEtdmFyLWppcmEsXG4gIFwiZG9ja2VyXCI6ICRmYS12YXItZG9ja2VyLFxuICBcInNjcmVlbnBhbFwiOiAkZmEtdmFyLXNjcmVlbnBhbCxcbiAgXCJibHVldG9vdGhcIjogJGZhLXZhci1ibHVldG9vdGgsXG4gIFwiZ2l0dGVyXCI6ICRmYS12YXItZ2l0dGVyLFxuICBcImQtYW5kLWRcIjogJGZhLXZhci1kLWFuZC1kLFxuICBcIm1pY3JvYmxvZ1wiOiAkZmEtdmFyLW1pY3JvYmxvZyxcbiAgXCJjYy1kaW5lcnMtY2x1YlwiOiAkZmEtdmFyLWNjLWRpbmVycy1jbHViLFxuICBcImdnLWNpcmNsZVwiOiAkZmEtdmFyLWdnLWNpcmNsZSxcbiAgXCJwaWVkLXBpcGVyLWhhdFwiOiAkZmEtdmFyLXBpZWQtcGlwZXItaGF0LFxuICBcImtpY2tzdGFydGVyLWtcIjogJGZhLXZhci1raWNrc3RhcnRlci1rLFxuICBcInlhbmRleFwiOiAkZmEtdmFyLXlhbmRleCxcbiAgXCJyZWFkbWVcIjogJGZhLXZhci1yZWFkbWUsXG4gIFwiaHRtbDVcIjogJGZhLXZhci1odG1sNSxcbiAgXCJzZWxsc3lcIjogJGZhLXZhci1zZWxsc3ksXG4gIFwic2Fzc1wiOiAkZmEtdmFyLXNhc3MsXG4gIFwid2lyc2luZGhhbmR3ZXJrXCI6ICRmYS12YXItd2lyc2luZGhhbmR3ZXJrLFxuICBcIndzaFwiOiAkZmEtdmFyLXdzaCxcbiAgXCJidXJvbW9iZWxleHBlcnRlXCI6ICRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSxcbiAgXCJzYWxlc2ZvcmNlXCI6ICRmYS12YXItc2FsZXNmb3JjZSxcbiAgXCJvY3RvcHVzLWRlcGxveVwiOiAkZmEtdmFyLW9jdG9wdXMtZGVwbG95LFxuICBcIm1lZGFwcHNcIjogJGZhLXZhci1tZWRhcHBzLFxuICBcIm5zOFwiOiAkZmEtdmFyLW5zOCxcbiAgXCJwaW50ZXJlc3QtcFwiOiAkZmEtdmFyLXBpbnRlcmVzdC1wLFxuICBcImFwcGVyXCI6ICRmYS12YXItYXBwZXIsXG4gIFwiZm9ydC1hd2Vzb21lXCI6ICRmYS12YXItZm9ydC1hd2Vzb21lLFxuICBcIndhemVcIjogJGZhLXZhci13YXplLFxuICBcImNjLWpjYlwiOiAkZmEtdmFyLWNjLWpjYixcbiAgXCJzbmFwY2hhdFwiOiAkZmEtdmFyLXNuYXBjaGF0LFxuICBcInNuYXBjaGF0LWdob3N0XCI6ICRmYS12YXItc25hcGNoYXQtZ2hvc3QsXG4gIFwiZmFudGFzeS1mbGlnaHQtZ2FtZXNcIjogJGZhLXZhci1mYW50YXN5LWZsaWdodC1nYW1lcyxcbiAgXCJydXN0XCI6ICRmYS12YXItcnVzdCxcbiAgXCJ3aXhcIjogJGZhLXZhci13aXgsXG4gIFwic3F1YXJlLWJlaGFuY2VcIjogJGZhLXZhci1zcXVhcmUtYmVoYW5jZSxcbiAgXCJiZWhhbmNlLXNxdWFyZVwiOiAkZmEtdmFyLWJlaGFuY2Utc3F1YXJlLFxuICBcInN1cHBsZVwiOiAkZmEtdmFyLXN1cHBsZSxcbiAgXCJ3ZWJmbG93XCI6ICRmYS12YXItd2ViZmxvdyxcbiAgXCJyZWJlbFwiOiAkZmEtdmFyLXJlYmVsLFxuICBcImNzczNcIjogJGZhLXZhci1jc3MzLFxuICBcInN0YXlsaW5rZWRcIjogJGZhLXZhci1zdGF5bGlua2VkLFxuICBcImthZ2dsZVwiOiAkZmEtdmFyLWthZ2dsZSxcbiAgXCJzcGFjZS1hd2Vzb21lXCI6ICRmYS12YXItc3BhY2UtYXdlc29tZSxcbiAgXCJkZXZpYW50YXJ0XCI6ICRmYS12YXItZGV2aWFudGFydCxcbiAgXCJjcGFuZWxcIjogJGZhLXZhci1jcGFuZWwsXG4gIFwiZ29vZHJlYWRzLWdcIjogJGZhLXZhci1nb29kcmVhZHMtZyxcbiAgXCJzcXVhcmUtZ2l0XCI6ICRmYS12YXItc3F1YXJlLWdpdCxcbiAgXCJnaXQtc3F1YXJlXCI6ICRmYS12YXItZ2l0LXNxdWFyZSxcbiAgXCJzcXVhcmUtdHVtYmxyXCI6ICRmYS12YXItc3F1YXJlLXR1bWJscixcbiAgXCJ0dW1ibHItc3F1YXJlXCI6ICRmYS12YXItdHVtYmxyLXNxdWFyZSxcbiAgXCJ0cmVsbG9cIjogJGZhLXZhci10cmVsbG8sXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uYy1qcFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtanAsXG4gIFwiZ2V0LXBvY2tldFwiOiAkZmEtdmFyLWdldC1wb2NrZXQsXG4gIFwicGVyYnl0ZVwiOiAkZmEtdmFyLXBlcmJ5dGUsXG4gIFwiZ3J1bnRcIjogJGZhLXZhci1ncnVudCxcbiAgXCJ3ZWVibHlcIjogJGZhLXZhci13ZWVibHksXG4gIFwiY29ubmVjdGRldmVsb3BcIjogJGZhLXZhci1jb25uZWN0ZGV2ZWxvcCxcbiAgXCJsZWFucHViXCI6ICRmYS12YXItbGVhbnB1YixcbiAgXCJibGFjay10aWVcIjogJGZhLXZhci1ibGFjay10aWUsXG4gIFwidGhlbWVjb1wiOiAkZmEtdmFyLXRoZW1lY28sXG4gIFwicHl0aG9uXCI6ICRmYS12YXItcHl0aG9uLFxuICBcImFuZHJvaWRcIjogJGZhLXZhci1hbmRyb2lkLFxuICBcImJvdHNcIjogJGZhLXZhci1ib3RzLFxuICBcImZyZWUtY29kZS1jYW1wXCI6ICRmYS12YXItZnJlZS1jb2RlLWNhbXAsXG4gIFwiaG9ybmJpbGxcIjogJGZhLXZhci1ob3JuYmlsbCxcbiAgXCJqc1wiOiAkZmEtdmFyLWpzLFxuICBcImlkZWFsXCI6ICRmYS12YXItaWRlYWwsXG4gIFwiZ2l0XCI6ICRmYS12YXItZ2l0LFxuICBcImRldlwiOiAkZmEtdmFyLWRldixcbiAgXCJza2V0Y2hcIjogJGZhLXZhci1za2V0Y2gsXG4gIFwieWFuZGV4LWludGVybmF0aW9uYWxcIjogJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbCxcbiAgXCJjYy1hbWV4XCI6ICRmYS12YXItY2MtYW1leCxcbiAgXCJ1YmVyXCI6ICRmYS12YXItdWJlcixcbiAgXCJnaXRodWJcIjogJGZhLXZhci1naXRodWIsXG4gIFwicGhwXCI6ICRmYS12YXItcGhwLFxuICBcImFsaXBheVwiOiAkZmEtdmFyLWFsaXBheSxcbiAgXCJ5b3V0dWJlXCI6ICRmYS12YXIteW91dHViZSxcbiAgXCJza3lhdGxhc1wiOiAkZmEtdmFyLXNreWF0bGFzLFxuICBcImZpcmVmb3gtYnJvd3NlclwiOiAkZmEtdmFyLWZpcmVmb3gtYnJvd3NlcixcbiAgXCJyZXBseWRcIjogJGZhLXZhci1yZXBseWQsXG4gIFwic3VzZVwiOiAkZmEtdmFyLXN1c2UsXG4gIFwiamVua2luc1wiOiAkZmEtdmFyLWplbmtpbnMsXG4gIFwidHdpdHRlclwiOiAkZmEtdmFyLXR3aXR0ZXIsXG4gIFwicm9ja3Jtc1wiOiAkZmEtdmFyLXJvY2tybXMsXG4gIFwicGludGVyZXN0XCI6ICRmYS12YXItcGludGVyZXN0LFxuICBcImJ1ZmZlclwiOiAkZmEtdmFyLWJ1ZmZlcixcbiAgXCJucG1cIjogJGZhLXZhci1ucG0sXG4gIFwieWFtbWVyXCI6ICRmYS12YXIteWFtbWVyLFxuICBcImJ0Y1wiOiAkZmEtdmFyLWJ0YyxcbiAgXCJkcmliYmJsZVwiOiAkZmEtdmFyLWRyaWJiYmxlLFxuICBcInN0dW1ibGV1cG9uLWNpcmNsZVwiOiAkZmEtdmFyLXN0dW1ibGV1cG9uLWNpcmNsZSxcbiAgXCJpbnRlcm5ldC1leHBsb3JlclwiOiAkZmEtdmFyLWludGVybmV0LWV4cGxvcmVyLFxuICBcInN0dWJiZXJcIjogJGZhLXZhci1zdHViYmVyLFxuICBcInRlbGVncmFtXCI6ICRmYS12YXItdGVsZWdyYW0sXG4gIFwidGVsZWdyYW0tcGxhbmVcIjogJGZhLXZhci10ZWxlZ3JhbS1wbGFuZSxcbiAgXCJvbGQtcmVwdWJsaWNcIjogJGZhLXZhci1vbGQtcmVwdWJsaWMsXG4gIFwib2R5c2VlXCI6ICRmYS12YXItb2R5c2VlLFxuICBcInNxdWFyZS13aGF0c2FwcFwiOiAkZmEtdmFyLXNxdWFyZS13aGF0c2FwcCxcbiAgXCJ3aGF0c2FwcC1zcXVhcmVcIjogJGZhLXZhci13aGF0c2FwcC1zcXVhcmUsXG4gIFwibm9kZS1qc1wiOiAkZmEtdmFyLW5vZGUtanMsXG4gIFwiZWRnZS1sZWdhY3lcIjogJGZhLXZhci1lZGdlLWxlZ2FjeSxcbiAgXCJzbGFja1wiOiAkZmEtdmFyLXNsYWNrLFxuICBcInNsYWNrLWhhc2hcIjogJGZhLXZhci1zbGFjay1oYXNoLFxuICBcIm1lZHJ0XCI6ICRmYS12YXItbWVkcnQsXG4gIFwidXNiXCI6ICRmYS12YXItdXNiLFxuICBcInR1bWJsclwiOiAkZmEtdmFyLXR1bWJscixcbiAgXCJ2YWFkaW5cIjogJGZhLXZhci12YWFkaW4sXG4gIFwicXVvcmFcIjogJGZhLXZhci1xdW9yYSxcbiAgXCJzcXVhcmUteC10d2l0dGVyXCI6ICRmYS12YXItc3F1YXJlLXgtdHdpdHRlcixcbiAgXCJyZWFjdGV1cm9wZVwiOiAkZmEtdmFyLXJlYWN0ZXVyb3BlLFxuICBcIm1lZGl1bVwiOiAkZmEtdmFyLW1lZGl1bSxcbiAgXCJtZWRpdW0tbVwiOiAkZmEtdmFyLW1lZGl1bS1tLFxuICBcImFtaWxpYVwiOiAkZmEtdmFyLWFtaWxpYSxcbiAgXCJtaXhjbG91ZFwiOiAkZmEtdmFyLW1peGNsb3VkLFxuICBcImZsaXBib2FyZFwiOiAkZmEtdmFyLWZsaXBib2FyZCxcbiAgXCJ2aWFjb2luXCI6ICRmYS12YXItdmlhY29pbixcbiAgXCJjcml0aWNhbC1yb2xlXCI6ICRmYS12YXItY3JpdGljYWwtcm9sZSxcbiAgXCJzaXRyb3hcIjogJGZhLXZhci1zaXRyb3gsXG4gIFwiZGlzY291cnNlXCI6ICRmYS12YXItZGlzY291cnNlLFxuICBcImpvb21sYVwiOiAkZmEtdmFyLWpvb21sYSxcbiAgXCJtYXN0b2RvblwiOiAkZmEtdmFyLW1hc3RvZG9uLFxuICBcImFpcmJuYlwiOiAkZmEtdmFyLWFpcmJuYixcbiAgXCJ3b2xmLXBhY2stYmF0dGFsaW9uXCI6ICRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbixcbiAgXCJidXktbi1sYXJnZVwiOiAkZmEtdmFyLWJ1eS1uLWxhcmdlLFxuICBcImd1bHBcIjogJGZhLXZhci1ndWxwLFxuICBcImNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1c1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1cyxcbiAgXCJzdHJhdmFcIjogJGZhLXZhci1zdHJhdmEsXG4gIFwiZW1iZXJcIjogJGZhLXZhci1lbWJlcixcbiAgXCJjYW5hZGlhbi1tYXBsZS1sZWFmXCI6ICRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZixcbiAgXCJ0ZWFtc3BlYWtcIjogJGZhLXZhci10ZWFtc3BlYWssXG4gIFwicHVzaGVkXCI6ICRmYS12YXItcHVzaGVkLFxuICBcIndvcmRwcmVzcy1zaW1wbGVcIjogJGZhLXZhci13b3JkcHJlc3Mtc2ltcGxlLFxuICBcIm51dHJpdGlvbml4XCI6ICRmYS12YXItbnV0cml0aW9uaXgsXG4gIFwid29kdVwiOiAkZmEtdmFyLXdvZHUsXG4gIFwiZ29vZ2xlLXBheVwiOiAkZmEtdmFyLWdvb2dsZS1wYXksXG4gIFwiaW50ZXJjb21cIjogJGZhLXZhci1pbnRlcmNvbSxcbiAgXCJ6aGlodVwiOiAkZmEtdmFyLXpoaWh1LFxuICBcImtvcnZ1ZVwiOiAkZmEtdmFyLWtvcnZ1ZSxcbiAgXCJwaXhcIjogJGZhLXZhci1waXgsXG4gIFwic3RlYW0tc3ltYm9sXCI6ICRmYS12YXItc3RlYW0tc3ltYm9sLFxuKTtcbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnI3sgJGZhLXN0eWxlLWZhbWlseSB9Jztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtcmVndWxhci00MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufVxuXG4uZmFyLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuOnJvb3QsIDpob3N0IHtcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1zdHlsZS1mYW1pbHktY2xhc3NpYzogJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tZm9udC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnI3sgJGZhLXN0eWxlLWZhbWlseSB9Jztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1zb2xpZC05MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbi5mYXMsXG4uI3skZmEtY3NzLXByZWZpeH0tc29saWQge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuIiwiLy8gSG9sZHMgYWxsIG9mIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdGVtcGxhdGUsIHRoZXNlIHZhcmlhYmxlcyBhbHNvIGdldCBpbmplY3RlZCBpbnRvIGZvdW5kYXRpb24ncyBzZXR0aW5ncy5cclxuLy8gVXNlZCBmb3IgY29uc3RydWN0aW5nIHVybHMuXHJcbiRzaXRlOiAnJyAhZGVmYXVsdDsgXHJcblxyXG5cclxuXHJcbkBpZiAkZGVidWcge1xyXG4gICAgQGRlYnVnIENvbXBpbGluZyBzYXNzIGZvciAkc2l0ZSA7XHJcbn1cclxuXHJcbi8vIFRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLCB0aGlzIGlzIG15IGludGlpYWwgYXR0ZW1wdCBhdCBtYWtpbmcgc3VyZSBob3ZlciBiYWNrZ3JvdW5kIHN0YXRlcyBkb250IGNvbmZsaWN0IHdpdGggdGhlIHRleHQgY29sb3VyLlxyXG4kY29udHJhY3QtY2hlY2tlci1jb2xvdXItZmFsbGJhY2tzOiAkY29sb3VyMSwgJGNvbG91cjIsICRjb2xvdXIzLCAkY29sb3VyNCwgJGNvbG91cjYgIWRlZmF1bHQ7XHJcbi8vIERlc2NyZWFzZSBpZiB5b3Ugd2FudCBsZXNzIHNlbnNpdGl2aXR5IGJ1dCBjb250ZW50IG1heSBiZWNvbWUgaWxsZWdpYmxlLlxyXG4kY29udHJhc3QtY2hlY2tlci1yYXRpby10aHJlc2hvbGQ6IDIuMiAhZGVmYXVsdDtcclxuLy8gQWRkZWQgYm9yZGVyIHJhZGl1cyB0byB0aGluZ3MgbGlrZSBidXR0b25zICsgbmF2aWdhdGlvbi5cclxuJHNtb290aC1lZGdlcy1lbmFibGVkOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNtb290aC1lZGdlcy1sZXZlbDogMTVweCAhZGVmYXVsdDtcclxuLy8gR2xvYmFsIEltYWdlIHNldHRpbmdzICggTGlzdGluZyBwYWdlcyAmIHRhYmxlcyApLlxyXG4kdGFibGUtaW1hZ2Utc2l6ZTogMTMycHggIWRlZmF1bHQ7XHJcbiRncmlkLWltYWdlLXNpemU6IDIzMHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vLyAtLS0tLSBHbG9iYWwgUGFnZSBTZXR0aW5ncyAtLS0tLSBcclxuLy8gQ29udGFpbmVkIGNvbnRlbnQgbWF4IHdpZHRoLlxyXG4kZ2xvYmFsLXdpZHRoOiAxMzAwcHggIWRlZmF1bHQ7XHJcbi8vIFVuY29udGFpbmVkIGNvbnRlbnQgbWF4IHdpZHRoICggaS5lIGZ1bGwgd2lkdGggKSB0aGlzIGlzIGV4Y2x1ZGluZyBhbnl0aGluZyBvdXRzaWRlIG9mIGEgLmdyaWQteCAoIGUuZyBzdGljayBlbGVtZW50cywgPGhlYWRlcj4sIDxmb290ZXI+ICkga2VlcCBpbiBtaW5kIDJrICYgNGsgbW9uaXRvcnMgd2hlbiBhZGp1c3RpbmcgdGhpcy5cclxuJGdsb2JhbC11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogMTkyMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gWFkgR3JpZFxyXG4kZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBNYWluICsgZm9vdGVyIHNldHRpbmdzLlxyXG4kcGFnZS1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gVHlwb2dyYXBoeSAtLS0tLSBcclxuJGJvZHktZm9udC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kYm9keS1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKSAhZGVmYXVsdDtcclxuJGJvZHktY29weS1tYXgtd2lkdGg6IDg1MHB4ICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0OyBcclxuJGRlZmF1bHQtdW5saW5lLWNvbG91cnM6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7IC8vIEhhbmRsZXMgd2VpZ2h0IGZvciBsYWJlbCArIHZhbHVlIHBhaXIgKCBpLmUgdGFibGVzIG1vYmlsZSwgdmlldyBvcmRlciBzdW1tYXJ5IHBhbmVzIClcclxuJGNvbW1vbi1ydWxlLWNvbG91cjogJGNvbG91cjMtMiAhZGVmYXVsdDtcclxuJGNvbW1vbi1ydWxlLXdlaWdodDogMXB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGluZ3MgLS0tXHJcbiRoZWFkaW5nLXJ1bGUtY29sb3VyOiAkY29tbW9uLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDsgLy8gSWYgdXNpbmcgYSBkaWZmZXJlbnQgZm9udCBmb3IgaGVhZGluZ3MgdGhlbiB5b3UgbWF5IG5lZWQgdG8gYWRqdXN0IHRoZSBsaW5lLWhlaWdodC5cclxuJGhlYWRpbmctZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRwYWdlLWhlYWRpbmctdW5kZXJsaW5lOiB0cnVlICFkZWZhdWx0O1xyXG4kY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQ6ICRjb21tb24tcnVsZS13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtbWFyZ2luOiAwIDAgMjVweCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtcnVsZS1jb2xvdXI6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWZvbnQtc2l6ZTogKFxyXG4gICAgcHJlc2V0LTE6IDI1LFxyXG4gICAgcHJlc2V0LTI6IDMxXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtdW5kZXJsaW5lOiAoXHJcbiAgICBwcmVzZXQtMTogJHBhZ2UtaGVhZGluZy11bmRlcmxpbmUsXHJcbiAgICBwcmVzZXQtMjogJHBhZ2UtaGVhZGluZy11bmRlcmxpbmVcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtZm9udC13ZWlnaHQ6IChcclxuICAgIHByZXNldC0xOiA2MDAsXHJcbiAgICBwcmVzZXQtMjogMzAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtdGV4dC1hbGlnbjogKFxyXG4gICAgcHJlc2V0LTE6IG51bGwsXHJcbiAgICBwcmVzZXQtMjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtOiAoIFxyXG4gICAgcHJlc2V0LTE6IG5vbmUsXHJcbiAgICBwcmVzZXQtMjogbm9uZVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWJvcmRlci1yYWRpdXM6IChcclxuICAgIHByZXNldC0xOiAwLFxyXG4gICAgcHJlc2V0LTI6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC0yOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiAyMCxcclxuICAgIHByZXNldC0yOiAyMCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMThcclxuKSAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDcwMCxcclxuICAgIHByZXNldC0yOiA3MDAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1ib3JkZXItYm90dG9tOiAwICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogcmdiYSgkY29sb3VyNC0xLCAwLjEpLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTQ6ICRjb2xvdXI0LTZcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1tYXJnaW46IChcclxuICAgIHByZXNldC0xOiAoMCAwIDI1cHgsIDAgMCA1MHB4KSxcclxuICAgIHByZXNldC0yOiAoMCwgMCksXHJcbiAgICBwcmVzZXQtMzogMCAwIDIwcHgsXHJcbiAgICBwcmVzZXQtNDogKDAgMCAxNXB4LCAwIDAgNTBweClcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1wYWRkaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogMTVweCAwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm06IChcclxuICAgIHByZXNldC0xOiBub25lLFxyXG4gICAgcHJlc2V0LTI6IG5vbmUsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSksXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItdGV4dC1hbGlnbjogKFxyXG4gICAgcHJlc2V0LTE6IGNlbnRlcixcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpXHJcbik7XHJcbiRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtMjogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTM6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC00OiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi13b3JkLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiBub3JtYWwsXHJcbiAgICBwcmVzZXQtMjogbm9ybWFsLFxyXG4gICAgcHJlc2V0LTM6IG5vcm1hbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWxpbmUtaGVpZ2h0OiBpZigkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQsJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0LDEuNSkgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItYm9yZGVyLXJhZGl1czogKFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMSlcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtNCksXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0zKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA2MDAsXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtNClcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTMpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtbWFyZ2luOiAoXHJcbiAgICBwcmVzZXQtMTogMCxcclxuICAgIHByZXNldC0yOiAwIDAgMjVweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTEpLFxyXG4gICAgcHJlc2V0LTI6IDAgMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmc6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KSxcclxuICAgIHByZXNldC0yOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmdcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctNC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kaGVhZGluZy01LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTYtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuLy8gLS0tIEJ1bGxldCBwb2luZHRzIC0tLVxyXG4kYnVsbGV0LXNpemU6IDVweCAhZGVmYXVsdDtcclxuJGJ1bGxldC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYnVsbGV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFyYWdyYXBoIC0tLSBcclxuJHBhcmFncmFwaC1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyAtLS0tIFByaWNlIC0tLVxyXG4kcHJpY2UtY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByaWNlLWxpc3QtZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcmljZS1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kcHJpY2UtbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuLy8gJHByaWNlLWZvbnQtd2VpZ2h0IGlzIHRoZSBvbGQgdmFyaWFibGUgd2UgdXNlZCB0aWxsIHdlIG5lZWRlZCB0byBzcGxpdCB2YWx1ZSB3aXRoIGxhYmVsLlxyXG4kcHJpY2UtbGFiZWwtZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByaWNlLXZhbHVlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcmljZS1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIFJSUCAtLS1cclxuJHJycC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcnJwLWZvbnQtc2l6ZTogJHByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHJycC1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcnJwLXN0cmlrZTogdHJ1ZSAhZGVmYXVsdDtcclxuJHJycC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4vLyAtLS0gU2F2aW5nIC0tLSBcclxuJHNhdmluZ3MtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHNhdmluZy1mb250LXNpemU6ICRwcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRzYXZpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHNhdmluZy1zdHJpa2U6IGZhbHNlICFkZWZhdWx0O1xyXG4kc2F2aW5ncy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFjayBQcmljZSAtLS0gXHJcbiRwYWNrLXByaWNlLWNvbG91cjogJHByaWNlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIFBhY2sgU2l6ZSAtLS1cclxuJHBhY2stc2l6ZS1jb2xvdXI6ICRwcmljZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWNrIEl0ZW0gU2l6ZSAtLS0gXHJcbiRwYWNrLWl0ZW0tc2l6ZS1jb2xvdXI6ICRwcmljZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb2RlIC0tLSBcclxuJGNvZGUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuLy8gLS0tLS0gSWNvbnMgLS0tLS0gXHJcbi8vIC0tLSBTb2NpYWwgLS0tXHJcbi8vIFRoZXNlIGFyZSBmcm9tIHRoZSBmcm9udCBhd2Vzb21lIGxpYnJhcnkuXHJcbiRzb2NpYWwtaWNvbnM6IChcclxuICAgIGZhY2Vib29rOiAnXFxmMzllJyxcclxuICAgIHR3aXR0ZXI6ICdcXGU2MWInLFxyXG4gICAgaW5zdGFncmFtOiAnXFxmMTZkJyxcclxuICAgIGxpbmtlZEluOiAnXFxmMGUxJyxcclxuICAgIHlvdXR1YmU6ICdcXGYxNjcnLFxyXG4gICAgZW1haWw6ICdcXGYxZDgnLFxyXG4gICAgZ29vZ2xlLXBsdXM6ICdcXGYwZDUnLFxyXG4gICAgc2hhcmU6ICdcXGYxZTAnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRmlsZSAtLS1cclxuJGZpbGUtaWNvbnMtc2l6ZTogMjZweCAhZGVmYXVsdDtcclxuJGZpbGUtYW5jaG9yLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWxlLWFuY2hvci1mb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKSAhZGVmYXVsdDtcclxuJGZpbGUtYXR0YWNobWVudC1wYWRkaW5nOiAxMHB4IDVweCAhZGVmYXVsdDtcclxuJGZpbGUtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuLy8gVHlwaWNhbGx5IGZyb20gdGhlIGZvbnQgYXdlc29tZSBsaWJyYXJ5LlxyXG4kZmlsZS10eXBlLWljb25zOiAoXHJcbiAgICBicm9jaHVyZTogJ1xcZjE1YycsXHJcbiAgICB1c2VyLWd1aWRlOiAnXFxmMTViJyxcclxuICAgIHBhcnRzLWRpYWdyYW06ICdcXGYxNWMnLFxyXG4gICAgd29yZDogJ1xcZjFjMicsXHJcbiAgICBwb3dlcnBvaW50OiAnXFxmMWM0JyxcclxuICAgIGV4Y2VsOiAnXFxmMWMzJyxcclxuICAgIHBkZjogJ1xcZjFjMScsXHJcbiAgICBjc3Y6ICdcXGY2ZGQnLFxyXG4gICAgaW1hZ2U6ICdcXGYxYzUnLFxyXG4gICAgdmlkZW86ICdcXGYxYzgnLFxyXG4gICAgdW5rbm93bjogJ1xcZjE1YicsXHJcbiAgICB6aXA6ICdcXGYxYzYnXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgSWNvbiBDb2xvdXJzXHJcbiRmaWxlLWljb25zLWNvbG91cnM6IChcclxuICAgIGJyb2NodXJlOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgdXNlci1ndWlkZTogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIHBhcnRzLWRpYWdyYW06IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICB3b3JkOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDApLFxyXG4gICAgcG93ZXJwb2ludDogJGNvbG91cjYtMSxcclxuICAgIGV4Y2VsOiAkY29sb3VyNCxcclxuICAgIHBkZjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGNzdjogcmdiYSgkY29sb3VyNCwgMC45KSxcclxuICAgIGltYWdlOiAkY29sb3VyMy0zLFxyXG4gICAgdmlkZW86ICRjb2xvdXIzLTYsXHJcbiAgICB1bmtub3duOiAkY29sb3VyNC03LFxyXG4gICAgemlwOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFNpdGUgd2lkZSBpY29ucyAtLS0gXHJcblxyXG4kY2hldnJvbi1pY29uczogKFxyXG4gICAgdXA6ICdcXGYwNzcnLFxyXG4gICAgcmlnaHQ6ICdcXGYwNTQnLFxyXG4gICAgZG93bjogJ1xcZjA3OCcsXHJcbiAgICBsZWZ0OiAnXFxmMDUzJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlc2UgYXJlIHR5cGljYWxseSBmcm9tIHRoZSBmb250IGF3ZXNvbWUgbGlicmFyeS5cclxuJGRlZmF1bHQtc2l0ZS1pY29uczogKFxyXG4gICAgaW1hZ2UtMzYwOiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICczZGljb24uc3ZnJyxcclxuICAgIGNhcmQtcGF5bWVudDogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnY2FyZC1wYXltZW50LnN2ZycsXHJcbiAgICBwYXlwYWw6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ3BheXBhbC5zdmcnLFxyXG4gICAgZ29vZ2xlLXBheTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnZ29vZ2xlLXBheS5zdmcnLFxyXG4gICAgYXBwbHktcGF5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdhcHBseS1wYXkuc3ZnJyxcclxuICAgIGRpcmVjdC1kZWJpdDogJ1xcRTg0RScsXHJcbiAgICBlbmxhcmdlOiAnXFxmMzFlJyxcclxuICAgIGJhc2tldC1pY29uOiAnXFxmMjkxJyxcclxuICAgIGJhc2tldC13YXJuaW5nOiAnXFxFODExJyxcclxuICAgIGJhc2tldC1hbGVydDogJ1xcRTgxMicsXHJcbiAgICBiYXNrZXQtcmVtb3ZlOiAnXFxmMmVkJyxcclxuICAgIGJhc2tldC1kZWxpdmVyeTogJ1xcZjBkMScsXHJcbiAgICBiYXNrZXQtdmF0OiAnXFxmMjk1JyxcclxuICAgIGJhc2tldC12b3VjaGVyOiAnXFxmMDJjJyxcclxuICAgIHVwZGF0ZTogJ1xcZjAyMScsXHJcbiAgICB6b29tLWluOiAnXFxmMDBlJyxcclxuICAgIHpvb20tb3V0OiAnXFxmMDEwJyxcclxuICAgIHN1Y2Nlc3M6ICdcXGYwMGMnLFxyXG4gICAgd2FybmluZzogJ1xcZjA3MScsXHJcbiAgICBhbGVydDogJ1xcZjA2YScsXHJcbiAgICB1bmtub3duOiAnXFxmMDU5JyxcclxuICAgIGNhbmNlbGxlZDogJ1xcZjI4ZCcsXHJcbiAgICBpbi1wcm9ncmVzczogJ1xcZjExMCcsXHJcbiAgICBzZWFyY2g6ICdcXGYwMDInLFxyXG4gICAgZW1haWw6ICdcXGYwZTAnLFxyXG4gICAgdGVsZXBob25lOiAnXFxmODc5JyxcclxuICAgIGZhdm91cml0ZXMtZGVmYXVsdDogJ1xcZjAwNCcsXHJcbiAgICBmYXZvdXJpdGVzLWhvdmVyOiAnXFxmMDA0JyxcclxuICAgIHByb2NlZWQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGNoZWNrYm94LXRpY2s6ICdcXGYwMGMnLFxyXG4gICAgcGF5bWVudC1jYXJkOiAnXFxmMDlkJyxcclxuICAgIGhvbWU6ICdcXGYwMTUnLCBcclxuICAgIGJsb2c6ICdcXGYwODYnLFxyXG4gICAgbmV3czogJ1xcZjFlYScsXHJcbiAgICBldmVudHM6ICdcXGYwNzMnLFxyXG4gICAgYmxvY2txdW90ZTogJ1xcZjEwZCcsXHJcbiAgICBpbmZvOiAnXFxmMTI5JyxcclxuICAgIGluZm8tY2lyY2xlOiAnXFxmMDVhJyxcclxuICAgIG5vLWFjY2VzczogJ1xcZjAyMycsXHJcbiAgICBlZGl0OiAnXFxmMDQ0JyxcclxuICAgIHBhc3N3b3JkLXJldmVhbDogJ1xcZjA2ZScsXHJcbiAgICBjbG9zZS1idXR0b246ICdcXGYwMGQnLFxyXG4gICAgcXVhbnRpdHktc2VsZWN0b3ItaW5jcmVtZW50OiAnXFxmMDY4JyxcclxuICAgIHF1YW50aXR5LXNlbGVjdG9yLWRlY3JlbWVudDogJ1xcZjA2NycsXHJcbiAgICBiYW46ICdcXGYwNWUnLFxyXG4gICAgaGFtYnVyZ2VyOiAnXFxmMGM5JyxcclxuICAgIG1haWw6ICdcXGYxZDgnLFxyXG4gICAgcmF0aW5nOiAnXFxmMDA1JyxcclxuICAgIGJhY2stdG8tdG9wOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICBtZWdhLW1lbnUtbGluay1pY29uOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBtZW51LWNsb3NlOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIG1lbnUtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgY2Fyb3VzZWwtY29udHJvbHMtcHJldmlvdXM6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGxlZnQpLFxyXG4gICAgY2Fyb3VzZWwtY29udHJvbHMtbmV4dDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgYXV0by1jb21wbGV0ZS12aWV3LWFsbDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgc29oLTA6ICdcXGYwMGQnLFxyXG4gICAgc29oLTE6ICdcXGYwMGMnLFxyXG4gICAgc29oLTI6ICdcXGYwMGMnLFxyXG4gICAgc3RvY2stbm90aWZpY2F0aW9uLWljb246ICdcXGYwZjMnLFxyXG4gICAgc3RvY2stbm90aWZpY2F0aW9uLWFjdGl2ZTogJ1xcZjBmMycsXHJcbiAgICBsaXN0LWdyaWQtdmlldzogJ1xcZjAwYScsXHJcbiAgICBsaXN0LXRhYmxlLXZpZXc6ICdcXGYwMGInLFxyXG4gICAgcmVhZC1tb3JlLW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHJlYWQtbW9yZS1jbG9zZWQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgYW5jaG9yLWluZGljYXRvcjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgYnJlYWRjcnVtYnMtc2VwZXJhdG9yOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBsaWdodGJveC1wcmV2OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBsZWZ0KSxcclxuICAgIGxpZ2h0Ym94LW5leHQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGZpbGUtdXBsb2FkOiAnXFxmNTc0JyxcclxuICAgIGZpbGUtdXBsb2FkLXJlYWR5OiAnXFxlNWEwJyxcclxuICAgIGZpbGUtcmVtb3ZlOiAnXFxmMDBkJyxcclxuICAgIGNvbGxlY3Rpb24tb25seTogJ1xcRTgxOCcsXHJcbiAgICBhZHZhbmNlZC1mb3JtLXN1Y2Nlc3M6ICdcXGYwMGMnLFxyXG4gICAgYWR2YW5jZWQtZm9ybS1mYWlsOiAnXFxmMDBkJyxcclxuICAgIGZpbHRlcjogJ1xcZjBiMCcsXHJcbiAgICBjYWxsLXJhdGluZy1jYW5ub3QtcmF0ZTogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWNhbm5vdC1yYXRlLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy11bnJhdGVkOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctdW5yYXRlZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctdmVyeS1iYWQ6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy12ZXJ5LWJhZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctYmFkOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctYmFkLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy1hdmVyYWdlOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctYXZlcmFnZS5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctZ29vZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLWdvb2Quc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLXZlcnktZ29vZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLXZlcnktZ29vZC5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LWxvdzogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktbG93LnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktbWVkaXVtOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1tZWRpdW0uc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1oaWdoOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1oaWdoLnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktY3JpdGljYWw6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LWNyaXRpY2FsLnN2ZycsXHJcbiAgICBjYWxsLWFkZC1pbmZvOiAnXFxFODNDJyxcclxuICAgIGNhbGwtcmVxdWVzdC1hcmNoaXZlOiAnXFxFODNCJyxcclxuICAgIGNhbGwtbGlzdDogJ1xcRTgzOScsXHJcbiAgICBuZXctY2FsbDogJ1xcRTgzQScsXHJcbiAgICB0YWJsZS1zb3J0LWFzY2VuZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgdGFibGUtc29ydC1kZXNjZW5kOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIHRhYmxlLXJldmVhbC1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICB0YWJsZS1yZXZlYWwtY2xvc2VkOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBkb3duKSxcclxuICAgIGxvY2F0aW9uOiAnXFxmM2M1JyxcclxuICAgIHRyZWUtbWVudS1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICB0cmVlLW1lbnUtY2xvc2U6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgdm90ZS11cDogJ1xcZjE2NCcsXHJcbiAgICB0YWctcmVtb3ZlOiAnXFxmMDBkJyxcclxuICAgIHRoaXJkLXBhcnR5LXRyYWNraW5nOiAnXFxFODI3JyxcclxuICAgIHByaW50ZXI6ICdcXGYwMmYnLFxyXG4gICAgcXVpY2stb3JkZXItZm9ybS1wcmVmaXgtaWNvbjogJ1xcMmInLFxyXG4gICAgYmFyY29kZS1zY2FubmVyLWJ1dHRvbi1pY29uOiAnXFxFODREJyxcclxuICAgIGNhbGwtc291cmNlLXVzZXI6ICdcXGYwMDcnLFxyXG4gICAgY2FsbC1zb3VyY2UtcG9ydGFsOiAnXFxmMGFjJyxcclxuICAgIGNhbGwtc291cmNlLWVtYWlsOiAnXFxmMGUwJyxcclxuICAgIGNhbGwtdHlwZS1hdHRhY2htZW50OiAnXFxFODJDJyxcclxuICAgIGNhbGwtdHlwZS1wcml2YWN5OiAnXFxFODMxJyxcclxuICAgIGNhbGwtdHlwZS10eXBlOiAnXFxFODFDJyxcclxuICAgIGNhbGwtdHlwZS1jbGFzc2lmaWNhaXRvbjogJ1xcRTgyMCcsXHJcbiAgICBjYWxsLXR5cGUtY29tcGxldGU6ICdcXEU4MTUnLFxyXG4gICAgY2FsbC10eXBlLWNvbnRhY3Q6ICdcXEU4MTcnLFxyXG4gICAgY2FsbC10eXBlLWNvbnRyYWN0OiAnXFxFODFBJyxcclxuICAgIGNhbGwtdHlwZS1jb250cmFjdC10eXBlOiAnXFxFODE5JyxcclxuICAgIGNhbGwtdHlwZS1jcmVhdGVkOiAnXFxFODI5JyxcclxuICAgIGNhbGwtdHlwZS1kZWZlcnJlZDogJ1xcRTgyOCcsXHJcbiAgICBjYWxsLXR5cGUtZXNjYWxhdGlvbjogJ1xcRTgyRicsXHJcbiAgICBjYWxsLXR5cGUtaW1wYWN0OiAnXFxFODJBJyxcclxuICAgIGNhbGwtdHlwZS1pbmJvdW5kLXBob25lLWNhbGw6ICdcXEU4MUYnLFxyXG4gICAgY2FsbC10eXBlLWluZm9ybWF0aW9uOiAnXFxFODJEJyxcclxuICAgIGNhbGwtdHlwZS1saW5rOiAnXFxFODJCJyxcclxuICAgIGNhbGwtdHlwZS1vdXRib3VuZC1waG9uZS1jYWxsOiAnXFxFODJFJyxcclxuICAgIGNhbGwtdHlwZS1wcmlvcml0eTogJ1xcRTgzMCcsXHJcbiAgICBjYWxsLXR5cGUtcmVzcG9uc2liaWxpdHk6ICdcXEU4MzInLFxyXG4gICAgY2FsbC10eXBlLXNob3J0Y3V0LXNlbnQ6ICdcXEU4MzMnLFxyXG4gICAgY2FsbC10eXBlLXNsYS1pbmNsdXNpb246ICdcXEU4MzQnLFxyXG4gICAgY2FsbC10eXBlLXN0YXR1czogJ1xcRTgxQicsXHJcbiAgICBjYWxsLXR5cGUtdW5kZWZlcnJlZDogJ1xcRTgzNycsXHJcbiAgICBjYWxsLXR5cGUtdXJnZW50OiAnXFxFODM4JyxcclxuICAgIGNhbGwtdHlwZS13b3JrZmxvdzogJ1xcRTgxRCcsXHJcbiAgICBkb2N1bWVudGF0aW9uLXB1YmxpYy11cmw6ICdcXGYwYWMnLFxyXG4gICAgZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzOiAnXFxlNDczJyxcclxuICAgIGNsaXBib2FyZC1jb3B5OiAnXFxmMGM1JyxcclxuICAgIGNvbnRleHQtbWVudS1lZGl0OiAnXFxmMDEzJyxcclxuICAgIGNvbnRleHQtZWRpdC10ZXh0OiAnXFxmMDQ0JyxcclxuICAgIGNvbnRleHQtZWRpdC1wcm9wZXJ0aWVzOiAnXFxFODUxJyxcclxuICAgIGNvbnRleHQtbW92ZS11cDogJ1xcZTRjMicsXHJcbiAgICBjb250ZXh0LW1vdmUtZG93bjogJ1xcZTRiOCcsXHJcbiAgICBjb250ZXh0LWluc2VydC1iZWZvcmU6ICdcXEU4NTAnLFxyXG4gICAgY29udGV4dC1pbnNlcnQtYWZ0ZXI6ICdcXEU4MjQnLFxyXG4gICAgY29udGV4dC1kZWxldGU6ICdcXGYyZWQnLFxyXG4gICAgY29udGV4dC1hY2Nlc3MtbGV2ZWw6ICdcXGY1ZmQnLFxyXG4gICAgY29udGV4dC1wdWJsaXNoZWQ6ICdcXGYwOTMnLFxyXG4gICAgY29udGV4dC1wcm9tb3RlOiAnXFxmMDNiJyxcclxuICAgIGNvbnRleHQtZGVtb3RlOiAnXFxmMDNjJyxcclxuICAgIGNvbnRleHQtbW92ZTogJ1xcZjBiMicsXHJcbiAgICBjb250ZXh0LWF1ZGl0OiAnXFxmMWRhJyxcclxuICAgIGNtcy1wYWdpbmF0aW9uLXByZXZpb3VzOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCBsZWZ0KSxcclxuICAgIGNtcy1wYWdpbmF0aW9uLW5leHQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIHNpdGUtbGlzdC1iZXNwb2tlLXNpdGUtaWNvbjogJ1xcRTgyMScsXHJcbiAgICBzb2Z0d2FyZS11cGRhdGUtZG93bmxvYWQ6ICdcXGYwMTknLFxyXG4gICAgc29mdHdhcmUtcmVsZWFzZS1kYXRlLXRpbWU6ICdcXGYwMTcnLFxyXG4gICAgcHJvZHVjdC1lbnF1aXJ5LWRlbGl2ZXJ5LWNvdW50ZG93bjogJ1xcZjAxNycsXHJcbiAgICB2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb246ICdcXGYwNGInLFxyXG4gICAgdmlkZW8tcGxheWVyLXJlcGxheS10aHVtYm5haWwtaWNvbjogJ1xcZjM2MycsXHJcbiAgICB2aWRlby1wbGF5ZXItZHVyYXRpb24taWNvbnM6ICdcXGYwMTcnLFxyXG4gICAgc2l0ZS1tYXAtcGFyZW50LWljb246ICBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBleHRlcm5hbC1saW5rLWljb246ICdcXGYwOGUnLFxyXG4gICAgbm9uLXJldHVybmFibGU6ICdcXEU4NTMnLFxyXG4gICAgYWNjb3JkaW9uLXJhZGlvLWluZGljYXRvci1kZWZhdWx0OiAnXFxmMTkyJyxcclxuICAgIHNlbGVjdGlvbi1pbmNyZW1lbnQ6ICdcXDJiJyxcclxuICAgIGZpbGUtZG93bmxvYWQ6ICdcXGY1NmQnLFxyXG4gICAgdW5yZWFkLXN0YXRlLW9uOiAnXFxmMTExJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ3JlYXRlIGRlZmF1bHQgaWNvbnMgbWFwIGlmIGl0IGhhc24ndCBiZWVuIGRlZmluZWQgaW4gc2l0ZSBzcGVjaWZpYyBicmFuZGluZyBmaWxlLlxyXG4kc2l0ZS1pY29uczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyBBbnkgY3VzdG9tIGljb25zIGVuYWJsZWQ/XHJcbiRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9uczogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIEZpbHRlciBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZmlsdGVyLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBmaWx0ZXIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIFNlYXJjaCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBzZWFyY2gpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIE5ldyBjYWxsIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1uZXctY2FsbC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgbmV3LWNhbGwpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENhbGwgbGlzdCBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1saXN0LWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjYWxsLWxpc3QpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENhbGwgYWRkIGluZm8gaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtYWRkLWluZm8taWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNhbGwtYWRkLWluZm8pLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENhbGwgcmVxdWVzdCBhcmNoaXZlIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jYWxsLXJlcXVlc3QtYXJjaGl2ZS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY2FsbC1yZXF1ZXN0LWFyY2hpdmUpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgdXBsb2FkIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1maWxlLXVwbG9hZC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZmlsZS11cGxvYWQpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgdXBsb2FkIHJlYWR5LlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tZmlsZS1yZWFkeS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZmlsZS1yZWFkeSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gSGFtYnVyZ2VyXHJcbiRzaXRlLWljb25zLWN1c3RvbS1oYW1idXJnZXItaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGhhbWJ1cmdlciksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQmFza2V0IGljb25cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEVtYWlsIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgZW1haWwpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIEVtYWlsIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ29udGV4dCBtZW51IGVkaXQgcHJvcGVydGllcy5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1lZGl0LXByb3BlcnRpZXMtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNvbnRleHQtZWRpdC1wcm9wZXJ0aWVzKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDb250ZXh0IG1lbnUgaW5zZXJ0IGJlZm9yZVxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1iZWZvcmUtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWJlZm9yZSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ29udGV4dCBtZW51IGluc2VydCBhZnRlclxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1hZnRlci1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYWZ0ZXIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIE1lcmdlIGRlZmF1bHQgaWNvbnMgd2l0aCBzaXRlIHNwZWNpZmljIGljb25zIGlmIGVuYWJsZWQuXHJcbiRzaXRlLWljb25zOiBtYXAtbWVyZ2UoJGRlZmF1bHQtc2l0ZS1pY29ucywgJHNpdGUtaWNvbnMpO1xyXG5cclxuXHJcbi8vIC0tLSBBY2NvdW50IEFyZWEgSWNvbnMgLS0tIFxyXG4vLyBUaGVzZSBhcmUgdHlwaWNhbGx5IGZyb20gdGhlIGZvbnRlbGxvIGxpYnJhcnkuXHJcbiRkZWZhdWx0LWFjY291bnQtaWNvbnM6IChcclxuICAgIGNoYW5nZS1kZXRhaWxzOiAnXFxFODAxJyxcclxuICAgIGNoYW5nZS1wYXNzd29yZDogJ1xcRTgwMicsXHJcbiAgICBjb250cmFjdC1pdGVtczogJ1xcRTgwNicsXHJcbiAgICB2aWV3LW9yZGVyczogJ1xcRTgwRScsXHJcbiAgICBmYXZvdXJpdGVzOiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmYXZvdXJpdGVzLWRlZmF1bHQpLFxyXG4gICAgcmVjZW50bHktcHVyY2hhc2VkOiAnXFxFODBGJyxcclxuICAgIG1hbmFnZS1jYXJkczogJ1xcRTgwQycsXHJcbiAgICBzdGF0ZW1lbnQ6ICdcXEU4MDcnLFxyXG4gICAgbWFuYWdlLXVzZXJzOiAnXFxFODBEJyxcclxuICAgIGJyYW5jaC1zd2l0Y2hlcjogJ1xcRTgwMCcsXHJcbiAgICBjb250YWN0LXByZWZlcmVuY2VzOiAnXFxFODA1JyxcclxuICAgIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOiAnXFxFODA5JyxcclxuICAgIGxvZ291dDogJ1xcRTgwQScsXHJcbiAgICBhY2NvdW50OiAnXFxmMDA3JyxcclxuICAgIG9yZGVyLXVwbG9hZDogJ1xcRTgzNScsXHJcbiAgICBiYXNrZXQtdXBsb2FkOiAnXFxFODM2JyxcclxuICAgIG1hbmFnZS1jYWxsczogJ1xcRTgxRScsXHJcbiAgICBzZXJ2aWNlLWNvbnRyYWN0czogJ1xcRTg0MCcsXHJcbiAgICBjdXN0b21lci1hc3NldHM6ICdcXEU4MjUnLFxyXG4gICAgcGF5bWVudC1yZXF1ZXN0czogJ1xcRTgyNicsXHJcbiAgICBkb3dubG9hZC1wcmljZS1saXN0czogJ1xcRTg3QScsXHJcbiAgICBzaXRlLWxpc3Q6ICdcXEU4M0YnLFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOiAnXFxFODQxJyxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZTogJ1xcRTg0MicsXHJcbiAgICBvbmxpbmUtZG9jdW1lbnRhdGlvbjogJ1xcRTg0NCcsXHJcbiAgICBkZWZhdWx0LWljb246ICdcXEU4NDMnLFxyXG4gICAgc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9nczogJ1xcRTg0NScsXHJcbiAgICBlbXBsb3llZS1zdGF0dXM6ICdcXEU4NEInLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLXN0YXJ0LXdvcms6ICdcXEU4NEInLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWVuZC13b3JrOiAnXFxFODQ5JyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1sdW5jaC1zdGFydDogJ1xcRTg0NycsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtbHVuY2gtZW5kOiAnXFxFODQ2JyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1hcnJpdmluZzogJ1xcRTg0QycsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtbGVhdmluZzogJ1xcRTg0QScsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtc2ljazogJ1xcRTgyMycsXHJcbiAgICBtaWNyb3NvZnQtc3Vic2NyaXB0aW9uczogJ1xcZjE3YScsXHJcbiAgICBjYWxsLXN0YXRpc3RpY3M6ICdcXEU4NTInXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDcmVhdGUgZGVmYXVsdCBpY29ucyBtYXAgaWYgaXQgaGFzbid0IGJlZW4gZGVmaW5lZCBpbiBzaXRlIHNwZWNpZmljIGJyYW5kaW5nIGZpbGUuXHJcbiRhY2NvdW50LWljb25zOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vIEFueSBjdXN0b20gaWNvbnMgZW5hYmxlZD8gXHJcbiRzaXRlLWljb25zLWN1c3RvbS1hY2NvdW50LWljb246IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gTWVyZ2UgZGVmYXVsdCBpY29ucyB3aXRoIHNpdGUgc3BlY2lmaWMgaWNvbnMgaWYgc2l0ZSBzcGVjaWZpYyBpY29ucyBlbmFibGVkLlxyXG4kYWNjb3VudC1pY29uczogbWFwLW1lcmdlKCRkZWZhdWx0LWFjY291bnQtaWNvbnMsICRhY2NvdW50LWljb25zKTtcclxuLy8gLS0tLS0gSW5wdXRzIC0tLS0tIFxyXG4vLyAtLS0gR2VuZXJhbCAtLS0gXHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiBpZigkc21vb3RoLWVkZ2VzLWVuYWJsZWQsICRzbW9vdGgtZWRnZXMtbGV2ZWwsIDApICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgnc2Vjb25kYXJ5LWZvbnQnKSAhZGVmYXVsdDtcclxuJGlucHV0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMilcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1tYWluLWNvbG91cjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgNyksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCksXHJcbiAgICBhY3RpdmU6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBhY3RpdmUtaG92ZXI6ICRpbnB1dC1ib3JkZXItbWFpbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4vLyBGaWxlIGlucHV0XHJcbiRpbnB1dC1maWxlLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA3MDBweFxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDEwcHgsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1sYWJlbC1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiByZ2JhKCRjb2xvdXI0LCAuNylcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtdXBsb2FkLWlzLXJlYWR5LWljb24tZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnMgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLW91dGVyLWJvcmRlci13aWR0aDogNHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGg6IDIuNXB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6IHJnYmEoJGNvbG91cjQtMSwgLjEpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUmljaCBUZXh0IEVkaXRvciAtLS1cclxuJHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tb2Zmc2V0OiAyNXB4ICFkZWZhdWx0O1xyXG4kcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1tYXgtbGV2ZWxzOiA1ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZvcm1zIC0tLVxyXG4kZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduOiAoXHJcbiAgICBzbWFsbDogbGVmdCxcclxuICAgIG1lZGl1bTogY2VudGVyLFxyXG4gICAgbGFyZ2U6IGNlbnRlclxyXG4pICFkZWZhdWx0O1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4IDIwNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuLy8gU2luZ2xlIENvbHVtbiBGb3Jtcy5cclxuJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpICFkZWZhdWx0O1xyXG4kZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBIZWFkaW5nICggaDIgKVxyXG4kZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWZvbnQtc2l6ZTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTQpICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaGVhZGluZy1mb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b206IG51bGwgIWRlZmF1bHQ7XHJcbi8vIFN1YiBIZWFkaW5nICggaDMgKVxyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC1zaXplOiAyNCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGaWVsZHNldCArIElucHV0cyAtLS1cclxuJGZpZWxkc2V0LWlucHV0LWhlaWdodDogNDVweCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc6IDVweCAwIDVweCAyNXB4ICFkZWZhdWx0O1xyXG4kZmllbGQtd2lkdGg6IChcclxuICAgIG1vYmlsZTogMTAwJSxcclxuICAgIGRlc2t0b3A6IDY0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1zZXQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZC1pbnB1dC13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmaWVsZC1sYWJlbC1tYXJnaW4tbGVmdDogNTBweCAhZGVmYXVsdDtcclxuJGZpZWxkLWxhYmVsLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLWp1c3RpZnktY2VudGVyOiB0cnVlICFkZWZhdWx0O1xyXG4vLyBEZWZhdWx0IHdpZHRoIHdpZHRob3V0IGFueSBjbGFzcy5cclxuJGZpZWxkc2V0LWxhYmVsLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxNjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUaGlzIGlzIG5vdCBicmVha3BvaW50IHdpZHRocyBidXQgcmF0aGVyIGNsYXNzIHNpemVzIC5zbWFsbCwgLm1lZGl1bSwgLmxhcmdlXHJcbiRmaWVsZC1sYWJlbC13aWR0aDogKFxyXG4gICAgc21hbGw6IDMwMHB4LFxyXG4gICAgbWVkaXVtOiAzNTBweCxcclxuICAgIGxhcmdlOiA0NDBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtbGFiZWwtcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMCAwIDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBMYWJlbHMgLS0tIFxyXG4kbGFiZWwtaW5wdXQtZ2FwOiA1cHggIWRlZmF1bHQ7XHJcbiRsYWJlbC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gZm9ybSBjb250YWluZXJzLlxyXG4kY29sdW1uLWNvbnRlbnQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCwgXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kY29sdW1uLWNtcy1jb250ZW50LWNvbnRhaW5lcjogKFxyXG4gICAgc21hbGw6IDAgMTVweCA3LjVweCxcclxuICAgIGxhcmdlOiAwIDg1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIGFkZGl0aW9uYWwgaW5mby5cclxuJGFkZGl0aW9uYWwtaW5mby1pbWFnZS1tYXJnaW46IDAgMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIElucHV0cyAtLS0tLVxyXG4kaW5wdXQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOClcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LWJveC1zaGFkb3c6IChcclxuICAgIGhvdmVyOiAkYm94U2hhZG93MVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3VyOiAkY29sb3VyMy00ICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24td2lkdGg6IDcwcHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtOiAkaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3VyOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtY29sb3VyKSAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi1pbm5lci1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENoZWNrYm94ZXMgLS0tXHJcbiRjaGVja2JveC1kaW1lbnRpb25zOiAyMHB4ICFkZWZhdWx0O1xyXG4kY2hlY2tib3gtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZS1ob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlLWhvdmVyKSxcclxuICAgIGFjdGl2ZS1kaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUmFkaW8gQnV0dG9ucyAtLS1cclxuJHJhZGlvLWRpbWVudGlvbnM6IDE1cHggIWRlZmF1bHQ7XHJcbiRyYWRpby1pY29uLWRpbWVuc2lvbnM6ICgkcmFkaW8tZGltZW50aW9ucyAvIDIpICFkZWZhdWx0O1xyXG4kcmFkaW8taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTZWxlY3QgRHJvcGRvd25zIC0tLVxyXG4kc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtd2lkdGg6IChcclxuICAgIHNtYWxsOiA5MHB4LFxyXG4gICAgbWVkaXVtOiAyMTVweCxcclxuICAgIGxhcmdlOiAzNDBweCxcclxuKSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemU6ICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1idXR0b24td2lkdGg6IDMwcHggIWRlZmF1bHQ7XHJcbi8vIFRPRE86IGhvdmVyICYgYWN0aXZlIGltcGxlbWVudGF0aW9uLlxyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tc2l6ZTogMThweCAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMixcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBBbmNob3JzIC0tLSBcclxuJGFuY2hvcnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCBcclxuICAgIGhvdmVyOiAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTAsXHJcbiAgICBhY3RpdmU6IC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTBcclxuKSAhZGVmYXVsdDtcclxuJGFuY2hvcnMtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xyXG4kYW5jaG9ycy1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLWZvbnQtd2VpZ2h0OiBpbmhlcml0ICFkZWZhdWx0O1xyXG4kYW5jaG9ycy1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9yZ290dGVuIHBhc3N3b3JkIGxpbmsgLS0tXHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvcmdvdHRlbi1wYXNzb3dyZC1hbmNob3ItZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gU1NPIC0tLS0tXHJcbiRzc28tYnV0dG9uLW1pY3Jvc29mdC10aGVtZTogJ2xpZ2h0JyAhZGVmYXVsdDtcclxuJHNzby1idXR0b24td2lkdGg6IChcclxuICAgIHNtYWxsOiA3MCUsXHJcbiAgICBtZWRpdW06IDMwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzc28tY29tbW9uLWdhcDogMjBweCAhZGVmYXVsdDtcclxuJHNzby1zZXBlcmF0b3ItZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBDTVMgLyBUZXh0REIgY29udGVudCBjb250YWluZXIgLS0tLS1cclxuJGNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDAgNTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ2xvc2UgYnV0dG9uIC0tLS0tIFxyXG4kaWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTW9kYWxzIC0tLS0tXHJcbiRtb2RhbC1jb250ZW50LXotaW5kZXg6IDIwMDEgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgLS0tXHJcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXNpemU6IDI1ICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWNtcy1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxNXB4IDAsXHJcbiAgICBsYXJnZTogMzBweCAzMHB4IC8vIEJhbGFuY2luZyB0b3AgKyBib3R0b20gZm9yIDg1MDE3NS5cclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIE1vZGFsIGZvcm1zIC0tLVxyXG4kbW9kYWwtZm9ybS1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9ybS1mb3JtLW1heC13aWR0aDogODAlICFkZWZhdWx0O1xyXG4kbW9kYWwtZm9ybS1mb3JtLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IGF1dG8sXHJcbiAgICBsYXJnZTogMjBweCBhdXRvIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEJ1dHRvbnMgLS0tLS1cclxuLy8gQ29tbW9uIGJ1dHRvbiBzdHlsZXMgKCB0aGVzZSBhcmUgdXNlZCBvbiBtdWx0aXBsZSBidXR0b25zLlxyXG4kY29tbW9uLWJ1dHRvbi1tYXJnaW46IChzbWFsbDogNXB4IDEwcHgsIGxhcmdlOiAwKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tcGFkZGluZzogMTVweCAzNXB4ICFkZWZhdWx0O1xyXG4vLyAkY29tbW9uLWJ1dHRvbi1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4vLyBBc3NvY2lhdGVkID0gYnV0dG9ucyB0aGF0IGFyZSBsaW5rZWQgdG8gYW4gaW5wdXQgKCBpLmUgbG9va3VwcyApXHJcbi8vIFN0YW5kYWxvbmUgPSBidXR0b25zIHRoYXQgYXJlIG5vdCBkaXJlY3RseSBsaW5rcyB0byBpbnB1dHMgKCBpLmUgZm9ybSBzdWJtaXNzaW9ucyAmIGFuY2hvcnMgKVxyXG4kY29tbW9uLWJ1dHRvbi1mb250LXNpemVzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplLFxyXG4gICAgc3RhbmRhbG9uZTogMTZcclxuKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHRzOiAoXHJcbiAgICBhc3NvY2lhdGVkOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQsXHJcbiAgICBzdGFuZGFsb25lOiA3MDBcclxuKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQ6IGdldC1idXR0b24tZm9udC13ZWlnaHRzKCkgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi13b3JkLXNwYWNpbmc6IDJweCAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmc6IC42cHggIWRlZmF1bHQ7XHJcbi8vIE5vcm1hbGx5IHdoZW4geW91IHNldCB1cHBlcmNhc2UgYW5kIGZvbnQgdG8gYm9sZCB5b3Ugd2lsbCB3YW50IHRvIGluY3JlYXNlIHRoZSBsZXR0ZXIgc3BhY2luZyBmb3IgbGVnaWJpbGl0eSByZWFzb25zICggdGhpcyBpcyBvYnZpb3VzbHkgZGVwZW5kYW50IG9uIHRoZSBmb250IGZhbWlseSBiZWluZyB1c2VkIClcclxuJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmctdXBwZXJjYXNlLWJvbGQ6ICgkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZyAqIDIpICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbi8vIFByaW1hcnkgYnV0dG9uIHN0eWxlcy5cclxuJHByaW1hcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbGlnaHRlbihkZXNhdHVyYXRlKGFkanVzdC1odWUoJGNvbG91cjQtMSwgLTclKSwgNCUpLCA0NCUpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFNlY29uZGFyeSBidXR0b24gc3R5bGVzLlxyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRzZWNvbmRhcnktYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRzZWNvbmRhcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLCBcclxuICAgIGhvdmVyOiBsaWdodGVuKGRlc2F0dXJhdGUoYWRqdXN0LWh1ZSgkY29sb3VyNC0xLCAtNyUpLCA0JSksIDQ0JSksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBUZXJ0aWFyeSBidXR0b24gc3R5bGVzXHJcbiR0ZXJ0aWFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kdGVydGlhcnktYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyR0ZXJ0aWFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kdGVydGlhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHRlcnRpYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiR0ZXJ0aWFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFF1YXRlcm5hcnkgYnV0dG9uIHN0eWxlc1xyXG4kcXVhdGVybmFyeS1idXR0b24tcGFkZGluZzogMy41cHggMTZweCAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vJHF1YXRlcm5hcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1YXRlcm5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gUXVpbmFyeSBidXR0b24gXHJcbiRxdWluYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRxdWluYXJ5LWJ1dHRvbi1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyRxdWluYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRxdWluYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVpbmFyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHF1aW5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBHZW5lcmljIGNtcyBidXR0b24gXHJcbiRjbXMtYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJGNtcy1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJGNtcy1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvcigkY21zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tY29sb3VyKSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGFuY2hvciBwcm9jZWVkIGJ1dHRvbi5cclxuJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLXByb2NlZWQtdGV4dC10cmFuc2Zvcm06ICRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4vLyBMb2NhdGlvbiBidXR0b24gICggc3RvY2tpc3QgKVxyXG4kbG9jYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbG9jYXRpb24tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRsb2NhdGlvbi1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjaXR2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gQmFyY29kZSBzY2FubmVyIHRvZ2dsZSBidXR0b24uXHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJvcmRlci1jb2xvdXItZGVza3RvcDogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhcmNvZGUtc2Nhbm5lci1idXR0b24taWNvbiksXHJcbiAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICBtYXJnaW46IDAgMCAwIDE1cHgsXHJcbiAgICBjb2xvdXI6IChcclxuICAgICAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnMsXHJcbiAgICBzaXplOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBTdG9ja2xpbmUgYnV0dG9uXHJcbiRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmc6IDIwcHggMTBweCAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuLy8kc3RvY2tsaW5lLWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gTm90IGxvZ2dlZCBpblxyXG4vLyBBZGp1c3RpbmcgdGhlIHBhZGRpbmcgd2lsbCBjYXVzZSB0aGVzZSBidXR0b25zIHRvIGdvIG91dCBvZiB2ZXJ0aWNsZSBhbGlnbm1lbnQgd2l0aCB0aGUgYnV5aW5nIGZvcm0uXHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1wYWRkaW5nOiAkc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRub3QtbG9nZ2VkLWluLWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gRW5xdWlyeSBidXR0b24uXHJcbiRlbnF1aXJ5LWJ1dHRvbi1wYWRkaW5nOiAkc3RvY2tsaW5lLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4kZW5xdWlyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZW5xdWlyeS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGVucXVpcnktYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRlbnF1aXJ5LWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gUGFnZSBhY3Rpb24gYnV0dGlvbnNcclxuLy8gRGVmYXVsdC5cclxuJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kYS1kZWZhdWx0LWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRhLWRlZmF1bHQtZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYS1kZWZhdWx0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRhLWRlZmF1bHQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRhLWRlZmF1bHQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kc3RhdHVzLWJ1dHRvbi1jb21tb24td2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFN1Y2Nlc3MuXHJcbiRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSwgXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHN1Y2Nlc3MtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHN1Y2Nlc3MtYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBXYXJuaW5nLlxyXG4kd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJHdhcm5pbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHdhcm5pbmctYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBBbGVydC5cclxuJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiBkZWZhdWx0LWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0Om1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFsZXJ0LWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDYW5jZWwgLyBiYWNrIGJ1dHRvblxyXG4kY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRjYW5jZWwtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEFsZXJ0IC8gcmVtb3ZlIC8gZGVsZXRlIGJ1dHRvbi5cclxuJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ01TIGJ1dHRvbnMgc3VjaCBhcyBibG9nLCBuZXdzICYgZXZlbnRzLlxyXG4kY21zLWJ1dHRvbi1saW5rLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy11bmRlcmxpbmU6IChcclxuICAgIGgxOiBmYWxzZSxcclxuICAgIGgyOiBmYWxzZSxcclxuICAgIGgzOiBmYWxzZVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDogZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLyBOZXdzIGJ1dHRvblxyXG4kbmV3cy1idXR0b24taWNvbi1zaXplOiAxOSAhZGVmYXVsdDtcclxuXHJcbi8vIEJsb2cgYnV0dG9uXHJcbiRibG9nLWJ1dHRvbi1pY29uLXNpemU6IDE5ICFkZWZhdWx0O1xyXG5cclxuLy8gRXZlbnRzIGJ1dHRvblxyXG4kZXZlbnRzLWJ1dHRvbi1pY29uLXNpemU6IDE5ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcmQgUGFydHkgdHJhY2tpbmcgYnV0dG9uLlxyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLXBhZGRpbmc6IDEwcHghZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtd2VpZ2h0OiA2MDA7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC02XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWd1dHRlcjogMTJweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSZXF1aXJlZCBwcm9tcHQgLS0tXHJcbiRyZXF1aXJlZC1wcm9tcHQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG1hcC1nZXQoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZywgc21hbGwpLFxyXG4gICAgbGFyZ2U6IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHJvbXB0LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMCAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXByb21wdC1mb250LXNpemU6IDE0LjQgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wcm9tcHQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXB0b21wdC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBNZW51cyAtLS0tLVxyXG4vLyBDb21tb24gc3R5bGVzICggdHlwaWNhbGx5IHRoZSBtb2JpbGUgZXhwaWVyYW5jZSApLlxyXG4kZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweCAhZGVmYXVsdDtcclxuLy8gSGVhZGVyXHJcbiRtZW51cy1oZWFkZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG1lbnVzLWhlYWRlci1mb250LXNpemU6IDI1ICFkZWZhdWx0O1xyXG4kbWVudXMtaGVhZGVyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBBY3R1YWwgbWVudXNcclxuJG1lbnVzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjEsXHJcbiAgICBsYXJnZTogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1lZ2EtbWVudS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWVnYS1tZW51LWdyYWRpYW50LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy1zdWJtZW51LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGhlYWRlci1tZWdhLW1lbnUtYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnUtZHJvcGRvd24tYXJyb3dzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRtZW51LWdyb3VwLWRyb3Bkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcclxuJG1lbnVzLWxpc3QtaXRlbS1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXI6IChcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTEtYm9yZGVyLWJvdHRvbTogKFxyXG4gICAgc21hbGw6IDFweCBzb2xpZCAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItYm9yZGVyLXRvcDogKFxyXG4gICAgc21hbGw6IDFweCBzb2xpZCAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiRtZW51cy1sZXZlbC0yLWxpLWJvcmRlcjogKFxyXG4gICAgc21hbGw6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFZpZXcgTW9yZVxyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDEwcHggMCAwLFxyXG4gICAgbGFyZ2U6IDAgMTBweCAwIDVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vLyAtLS0gVHJlZSBtZW51IC0tLVxyXG4kdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWxldmVsLTEtbGFiZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMCAxMHB4IDYuNjZweCxcclxuICAgIGxhcmdlOiAxMHB4IDAgMTBweCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nOiAoIFxyXG4gICAgbGFyZ2U6IDEwcHggMCAxMHB4IDcwcHhcclxuKSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbjogMjBweCAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU6IDI1cHggIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1mb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemUgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyOiAycHggc29saWQgJHRyZWUtbWVudS1icmFuY2gtY29sb3VyICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWNvbnRlbnQtaWNvbi13aWR0aDogMzBweCAhZGVmYXVsdDsgXHJcbiR0cmVlLW1lbnUtY29udGVudC1pY29uLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtZXhwYW5kLWFsbC1pY29uLWZvbnQtc2l6ZTogKCRtZWdhLW1lbnUtbGluay1pY29uLXNpemUgLSA0KSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1hc3NldHMtcm9vdC1sYWJlbC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBUcmVlIE1lbnUgKCBhc3NldHMgKSAtLS1cclxuJHRyZWUtbWVudS1hc3NldHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTYgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGdW5jdGlvbnMgTGlzdCAtLS0gXHJcbiRmdW5jdGlvbnMtbWVudS1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggNXB4IDVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmdW5jdGlvbnMtbWVudS1hcnJvdy1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gVGFibGVzIC0tLS0tXHJcbiR0YWJsZS1wcmVzZXQtMS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRhYmxlIFJvdyBOb3RpZmljYXRpb25zICggTWFuYWdlIENhbGxzICkgXHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoOiAoXHJcbiAgICBkZWZhdWx0OiAycHgsXHJcbiAgICBob3ZlcjogNnB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuLy8gUm93IFRvZ2dsZS5cclxuJHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbi8vIFRhYmxlIEhlYWRcclxuJHRoZWFkLWJvcmRlci1jb2xvdXI6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kdGhlYWQtdGgtY29tbW9uLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kdGhlYWQtcHJlc2V0LTE6IChcclxuICAgIHBhZGRpbmc6IDAgNXB4IDEwcHgsIFxyXG4gICAgZm9udC1zaXplOiAxNSxcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDAsXHJcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgcm93LWJvcmRlcjogJGNvbW1vbi1ydWxlLXdlaWdodCBzb2xpZCAkdGhlYWQtYm9yZGVyLWNvbG91cixcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwLFxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyLFxyXG4gICAgdGV4dC10cmFuZm9ybTogbm9uZVxyXG4pICFkZWZhdWx0O1xyXG4vLyBQcmltYXJpbHkgdXNlZCBmb3IgdGhlIGJhc2tldC5cclxuJHRoZWFkLXByZXNldC0yOiAoXHJcbiAgICBwYWRkaW5nOiAwIDAgMjBweCxcclxuICAgIGZvbnQtc2l6ZTogMTQsXHJcbiAgICBmb250LXdlaWdodDogNjAwLFxyXG4gICAgY29sb3I6ICRjb2xvdXIyLFxyXG4gICAgcm93LWJvcmRlcjogJGNvbW1vbi1ydWxlLXdlaWdodCBzb2xpZCAkdGhlYWQtYm9yZGVyLWNvbG91cixcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFNvcnRpbmdcclxuJHRoZWFkLXNvcnRpbmctYnV0dG9uLWljb24tc2l6ZTogKCRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplIC0gMik7XHJcbi8vIFRhYmxlIEJvZHlcclxuJHRib2R5LXJvdy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNyksXHJcbiAgICBob3ZlcjogJHRoZWFkLWJvcmRlci1jb2xvdXJcclxuKSAhZGVmYXVsdDtcclxuJHRib2R5LW1hcmdpbjogMTBweCAhZGVmYXVsdDtcclxuJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZzogMCAxMHB4ICFkZWZhdWx0O1xyXG4kdGJvZHktcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHRib2R5LWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHRib2R5LWFuY2hvci1mb250LXNpemU6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpICFkZWZhdWx0O1xyXG4kdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbi8vIFJvd3NcclxuLy8gU3BhY2luZyBiZXR3ZWVuIHJvdywgdGhpcyBnZXRzIHVzZWQgZGlmZmVyZW50bHkgZGVwZW5kaW5nIG9uIHdoYXQgZWZmZWN0cyBhcmUgYXBwbGllZCB0byB0aGUgdGFibGUgKCBpLmUgaWYgeW91J3JlIHNob3cgcnVsZXMgYmV0d2VlbiByb3cgKVxyXG4kdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4vLyBUYWJsZSBmb290ZXIgc3BhY2VyLlxyXG4kdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0xOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTI6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gUERGIFRhYmxlIEFuY2hvcnNcclxuJHBkZi10YWJsZS1hbmNob3ItbWFyZ2luOiAxNXB4ICFkZWZhdWx0O1xyXG4vLyBPcmRlciBUYWJsZSAoIFByaW1hcmx5IHVzZWQgZm9yIGJhc2tldCwgdmlldyBvcmRlciAmIGNoZWNrb3V0IGNvbXBsZXRlIClcclxuJG9yZGVyLW1vYmlsZS1yb3ctcGFkZGluZzogNXB4IDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogMTU1cHgsXHJcbiAgICBsYXJnZTogJHRhYmxlLWltYWdlLXNpemVcclxuKSAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLWltYWdlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbi8vICRvcmRlci10YWJsZS1jb2RlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1jb2RlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1wcmljZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtcHJpY2UtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtc3ViLXRvdGFsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemU6IDgwcHggIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb21wYXJpc29uIFRhYmxlIC0tLSBcclxuJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTglLFxyXG4gICAgbGFyZ2U6IDE1JVxyXG4pICFkZWZhdWx0O1xyXG4kY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtdmFsdWVzLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4kY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENNUyBDb250ZW50IC0tLS0tIFxyXG4kZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWNtcy1jb3B5LWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWNtcy1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgZm9udCBzaXplXHJcbiRjbXMtaGVhZGluZy1mb250LXNpemU6IChcclxuICAgIGgxOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkgKyAxMCxcclxuICAgIGgyOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMSkgKyAxMixcclxuICAgIGgzOiBtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMSkgKyA3LFxyXG4gICAgaDQ6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgNyxcclxuICAgIGg1OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDMsXHJcbiAgICBoNjogJHBhcmFncmFwaC1mb250LXNpemVcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmdzIGZvbnQgd2VpZ2h0XHJcbiRjbXMtaGVhZGluZy1mb250LXdlaWdodDogKFxyXG4gICAgaDE6IDYwMCxcclxuICAgIGgyOiA2MDAsXHJcbiAgICBoMzogNjAwLFxyXG4gICAgaDQ6IDQwMCxcclxuICAgIGg1OiA0MDAsXHJcbiAgICBoNjogNDAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy1mb250LXN0eWxlOiAoXHJcbiAgICBoMTogbm9ybWFsLFxyXG4gICAgaDI6IG5vcm1hbCxcclxuICAgIGgzOiBub3JtYWwsXHJcbiAgICBoNDogbm9ybWFsLFxyXG4gICAgaDU6IG5vcm1hbCxcclxuICAgIGg2OiBub3JtYWxcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgbWFyZ2luc1xyXG4kY21zLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBoMTogMjVweCAwIDIwcHgsXHJcbiAgICBoMjogMjVweCAwIDIwcHgsXHJcbiAgICBoMzogMjVweCAwIDEwcHgsXHJcbiAgICBoNDogMjVweCAwIDEwcHgsXHJcbiAgICBoNTogMTVweCAwIDEwcHgsXHJcbiAgICBoNjogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtaGVhZGluZy1wYWRkaW5nOiAoXHJcbiAgICBoMTogbnVsbCxcclxuICAgIGgyOiBudWxsLFxyXG4gICAgaDM6IDE1cHggMCxcclxuICAgIGg0OiAwIDAgMTBweCxcclxuICAgIGg1OiBudWxsLFxyXG4gICAgaDY6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgY29sb3Vycy5cclxuJGNtcy1oZWFkaW5nLWNvbG91cjogKFxyXG4gICAgaDE6ICRjb2xvdXI0LFxyXG4gICAgaDI6ICRjb2xvdXI0LFxyXG4gICAgaDM6ICRjb2xvdXI2LFxyXG4gICAgaDQ6ICRjb2xvdXI0LFxyXG4gICAgaDU6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91cixcclxuICAgIGg2OiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXJcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBoMTogbnVsbCxcclxuICAgIGgyOiBudWxsLFxyXG4gICAgaDM6IG51bGwsXHJcbiAgICBoNDogbnVsbCxcclxuICAgIGg1OiBudWxsLFxyXG4gICAgaDY6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gQ01TIGhlYWRpbmcgbGluZS1oZWlnaHQuXHJcbiRjbXMtaGVhZGluZy1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFBhcmFncmFwaFxyXG4kY21zLXBhcmFncmFwaC1tYXJnaW46ICRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbiAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW46IHNwYWNpbmctdmFsdWUoJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luLCAxKSAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWNtcy1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtY29sb3VyOiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRjbXMtcGFyYWdyYXBoLXN0cm9uZy1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4vLyBBbmNob3JcclxuJGNtcy1hbmNob3Itd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLWNvbnRhY3Qtd2VpZ2h0OiAkY21zLWFuY2hvci13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMilcclxuKSAhZGVmYXVsdDtcclxuLy8gTGlzdHMgXHJcbiRjbXMtbGlzdC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtbGlzdC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtbGlzdC1wYWRkaW5nOiAwIDI1cHggIWRlZmF1bHQ7XHJcbi8vIFRhYmxlc1xyXG4kY21zLXRhYmxlLXNpYmxpbmctbWFyZ2luOiAxNXB4IDAgIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtaGVhZGVyLWNvbHVtbi1wYWRkaW5nOiAxMHB4IDEwcHggMTBweCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gRmluZCBvdXQgbW9yZSBidXR0b24uXHJcbiRjbXMtcm0tbWFyZ2luOiAyMHB4IDAgMCAhZGVmYXVsdDtcclxuJGNtcy1ybS1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWljb246IGZhbHNlICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1jdXN0b20taWNvbjogJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uLXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplICFkZWZhdWx0O1xyXG4kY21zLXJtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkY21zLXJtLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNtcy1ybS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAgXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMCBcclxuKSAhZGVmYXVsdDtcclxuJGNtLXJtLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gICAgZGVmYXVsdDogbm9uZSxcclxuICAgIGhvdmVyOiBpZigkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLCBub25lLCB1bmRlcmxpbmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEJsb2NrcXVvdGVcclxuJGNtcy1ibG9ja3F1b3RlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1MHB4IDMwcHgsXHJcbiAgICBsYXJnZTogNTBweCA2MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1pY29uLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1pY29uLXNpemU6IDQwcHggIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtMVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyBDb2RlIGJsb2NrLlxyXG4kY21zLWNvZGUtYmxvY2stcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4IDM1cHhcclxuKSAhZGVmYXVsdDtcclxuLy8gSW1hZ2VcclxuJGNtcy1pbWFnZS1zcGFjaW5nOiAxMHB4IGF1dG8gIWRlZmF1bHQ7XHJcbi8vIC0tLSBSZWFkIE1vcmUgLS0tIFxyXG4kZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHk6IDBweCAhZGVmYXVsdDtcclxuJGNtcy1ybS1mYWRlLW9wYWNpdHk6ICRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtcm0tZmFkZS1vcGFjaXR5OiAkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZmFkZS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZlYXRoZXItZGVmYXVsdDogNTBweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb250ZW50IGxvYWRpbmcgb3ZlcmxheSAtLS0gXHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLWNvbG91cjogJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTogNTBweCAhZGVmYXVsdDtcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0OiA0cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQUpBWCBCbG9ja2VyIC0tLSBcclxuJGFqYXgtc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdWktYmxvY2stYmFja2dyb3VuZDogcmdiYSgkY29sb3VyMywgMC42KSAhZGVmYXVsdDtcclxuXHJcbi8vIEdlbmVyYWwgRXJyb3Igc3R5bGVzLlxyXG4vLyBFcnJvciBibG9ja3MgYXJlIGdlbmVyYXRlZCBieSB0aGUgc2VydmVyIGFuZCBhcmUgdHlwaWNhbGx5IHBvc2l0aW9uZWQgYXQgdGhlIHRvcCBvciB0aGUgYm90dG9tIG9mIGEgZm9ybS5cclxuJGVycm9yLWJsb2NrLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIEFkdmFuY2VkIHZhbGlkYXRpb24gZXJyb3Igc3R5bGVzLlxyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtaWNvbi1jb2xvdXI6IHJnYmEoJGNvbG91cjMtNiwgMC43KSAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1pY29uLXNpemU6IDE1cHggIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24taW52YWxpZC1jb2xvdXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24tdmFsaWQtY29sb3VyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQnV0dG9ucyAtLS0gXHJcbi8vIE5lZWRzIHNvbWUgc29ydCBvZiBrbm9jayBiYWNrIGZvciBncmV5ZWQgb3V0IGVmZmVjdCB0byB3b3JrLlxyXG4kYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk6IC40ICFkZWZhdWx0OztcclxuLy8gQWRkIHRvIGJhc2tldCAoIGljb24gb25seSApXHJcbiRhZGQtdG8tYmFza2V0LWljb24td2lkdGg6IDM1cHggIWRlZmF1bHQ7XHJcbiRhZGQtdG8tYmFza2V0LWljb24taGVpZ2h0OiAkYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoICFkZWZhdWx0O1xyXG4kYWRkLXRvLWJhc2tldC1pY29uLXNpemU6IDIzcHggIWRlZmF1bHQ7XHJcbi8vIFN0YW5kYXJkIGJ1dHRvbiBcclxuJGJhc2tldC1idXR0b24td2lkdGg6IDEwMCUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLXBhZGRpbmc6IDE1cHggMTBweCAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWJvcmRlcjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksIFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8kYmFza2V0LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbi8vIEZhdm91cml0ZXNcclxuJGZhdm91cml0ZXMtaWNvbi1zaXplOiAkYWRkLXRvLWJhc2tldC1pY29uLXNpemUgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi13aWR0aDogJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aCAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWhlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSkgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcblxyXG4kZmF2b3VyaXRlc1ByZXNldHIySWNvblNpemU6IDE4cHg7XHJcbi8vIE1haWxpbmcgQnV0dG9uLlxyXG4kbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogNXB4IDAgMCxcclxuICAgIG1lZGl1bTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tcGFkZGluZzogMCA1cHggIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDsgXHJcbiRtYWlsaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBJZiB3YW50IHRoZSBpbnB1dCBmaWVsZCBhbmQgdGhlIGJ1dHRvbiB0byBhcHBlYXIgYXMgc2VwZXJhdGUgZWxlbWVudHMuXHJcbiRtYWlsaW5nLWxpc3QtaW5wdXQtYnV0dG9uLXNlcGVyYXRlLWVsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJvcmRlcjogMXB4IDFweCAxcHggMCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWxpc3QtYnV0dG9uLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kbWFpbGluZy1saXN0LWlucHV0LWJvcmRlcjogMXB4IDAgMXB4IDFweCAhZGVmYXVsdDtcclxuJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJpbnQgZWxlbWVudHMgYnV0dG9uIC0tLVxyXG4vLyBDb2xvdXJzLi4uLi5cclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXI6ICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcmludC1lbGVtZW50cy1idXR0b24tYm9yZGVyLWNvbG91cjogJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnMtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyKSBcclxuKSAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByaW50ZXIpLFxyXG4gIHBvc2l0aW9uOiBiZWZvcmUsXHJcbiAgbWFyZ2luOiAwIDEycHggMCAwLFxyXG4gIGNvbG91cjogJHByaW50LWVsZW1lbnMtYnV0dG9uLWljb24tY29sb3VyLFxyXG4gIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICBzaXplOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBSZXZlYWwgcGFzc3dvcmQgYnV0dG9uIC0tLSBcclxuJHJldmVhbC1wYXNzd29yZC13aWR0aDogNDVweCAhZGVmYXVsdDtcclxuJHJldmVhbC1pY29uLWNvbG91cjogcmdiYSgkY29sb3VyMy02LCAwLjcpICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWljb24tYWN0aXZlLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbi8vIEdlbmVyYWwuXHJcbiRxdWFudGl0eS1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNnB4IDAsXHJcbiAgICBsYXJnZTogNnB4IDE1cHggNnB4IDBcclxuKSAhZGVmYXVsdDsgXHJcbiRxdWFudGl0eS1pbnB1dC1oZWlnaHQ6IDQ1cHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWxpbmUtaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4vLyBGcmVlIFRleHQgUXVhbnRpdHkgU2VsZWN0b3JcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aDogNTBweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1ib3JkZXItcmFkaXVzOiBudWxsICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDogJHF1YW50aXR5LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24td2lkdGg6ICgkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoIC0gMTApICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRxdWFudHRpeS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1pbmNyZW1lbnQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1kZWNyZW1lbnQtY29sb3VyOiAkcXVhbnRpdHktZnJlZS10ZXh0LWluY3JlbWVudC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbiAgICApLFxyXG4gICAgcHJlc2V0LTE6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyNlxyXG4gICAgKSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0xXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIzXHJcbiAgICApLFxyXG4gICAgcHJlc2V0LTE6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjMsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMy0xXHJcbiAgICApLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBEcm9wZG93biBRdWFudGl0eSBTZWxlY3RvclxyXG4kcXVhbnRpdHktZHJvcGRvd24td2lkdGg6IDkwcHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1kcm9wZHdvbi1wYWRkaW5nLWxlZnQ6IDEwcHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1kcm9wZG93bi1oZWlnaHQ6ICRxdWFudGl0eS1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIENvbnRyb2wgc2xpZGVycyAtLS0tLVxyXG4vLyBSYWlsIG9wdGlvbnMuXHJcbiRzbGlkZXItcmFpbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAhZGVmYXVsdDtcclxuJHNsaWRlci1yYWlsLWhlaWdodDogMTBweCAhZGVmYXVsdDtcclxuJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIxLCAuNyksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB0cmFuc3BhcmVudCxcclxuICAgIGhvdmVyOiB0cmFuc3BhcmVudCxcclxuICAgIGFjdGl2ZTogdHJhbnNwYXJlbnRcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzbGlkZXItcmFuZ2UtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEhhbmRsZSBvcHRpb25zLlxyXG4kc2xpZGVyLWhhbmRsZS1kaW1lbnRpb25zOiAyMnB4ICFkZWZhdWx0O1xyXG4kc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0OyBcclxuJHNsaWRlci1oYW5kbGUtaWNvbi1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kc2xpZGVyLWhhbmRsZS1ib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4vLyAtLS0gU3dlZXQgQWxlcnRzICggU3VjY2VzcywgV2FybmluZywgQWxlcnQgSWNvbnMgKSAtLS0gXHJcbiRzYS1kaW1lbnRpb25zOiA4MHB4ICFkZWZhdWx0O1xyXG4kc2EtbWFyZ2luOiAzMHB4IGF1dG8gMTVweCAhZGVmYXVsdDtcclxuLy8gQWxlcnRcclxuJHNhLWFsZXJ0LWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAkc2EtZGltZW50aW9ucyxcclxuICAgIGhlaWdodDogJHNhLWRpbWVudGlvbnNcclxuKSAhZGVmYXVsdDtcclxuJHNhLWFsZXJ0LWNvbG91cjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuLy8gV2FybmluZ1xyXG4kc2Etd2FybmluZy1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogJHNhLWRpbWVudGlvbnMsXHJcbiAgICBoZWlnaHQ6ICRzYS1kaW1lbnRpb25zXHJcbikgIWRlZmF1bHQ7XHJcbiRzYS13YXJuaW5nLWNvbG91cjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG4vLyBTdWNjZXNzXHJcbiRzYS1zdWNjZXNzLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAkc2EtZGltZW50aW9ucyxcclxuICAgIGhlaWdodDogJHNhLWRpbWVudGlvbnNcclxuKSAhZGVmYXVsdDtcclxuJHNhLXN1Y2Nlc3MtY29sb3VyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVGFicyAtLS1cclxuJHRhYnMtdGl0bGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiR0YWJzLXRpdGxlLWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJHRhYnMtY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAyNXB4LFxyXG4gICAgbGFyZ2U6IDQwcHggNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC10YWJzLXBhbmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDI1cHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQWNjb3JkaW9ucyAtLS0gXHJcbi8vIFRpdGxlLlxyXG4kYWNjb3JkaW9ucy1hcnJvdy1mb250LXNpemU6ICR0YWJzLXRpdGxlLWljb24tc2l6ZSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtYXJyb3ctY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkdGFicy10aXRsZS1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCR0YWJzLXRpdGxlLWNvbG91ciksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1mb250LXdlaWdodDogJHRhYnMtdGl0bGUtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLXRleHQtdHJhbnNmb3JtOiAkdGFicy10aXRsZS10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBoaWdobGlnaHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCksXHJcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTIsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTNcclxuKSAhZGVmYXVsdDtcclxuLy8gQ29udGVudC5cclxuJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmc6ICR0YWJzLWNvbnRlbnQtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIE5vdGlmaWNhdGlvbnMsIHByb21wdHMgJiBjYWxsb3V0cyAtLS0tLVxyXG4vLyBUT0RPOiBUaGlzIG5lZWRzIHNpbXBsaWZ5aW5nLCBpdHMgYSBtZXNzIGR1ZSB0byBtdWx0aXBsZSBpdGVyYXRpb25zLlxyXG4kbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSlcclxuKSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtY29sb3VyOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBTdWNjZXNzIGJ1dHRvbi5cclxuJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENvbmZpcm1hdGlvbiAtLS0gXHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpICFkZWZhdWx0O1xyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSAhZGVmYXVsdDtcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1hbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAxMCkgIWRlZmF1bHQ7XHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gT24gcGFnZSBub3RpZmljYXRpb24gLS0tIFxyXG4vLyBEZWZhdWx0c1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZDogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDkpLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBpbmZvcm1hdGlvbjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDkpXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXI6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgaW5mb3JtYXRpb246ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiAkc3RhdHVzLWJ1dHRvbi1jb21tb24td2VpZ2h0ICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tbGluZS1oZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6IDMwcHggMCxcclxuICAgIHByZXNldC0yOiAxMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiAzNXB4IDEwcHgsIC8vIEZ1bGwgc2l6ZVxyXG4gICAgcHJlc2V0LTI6IDE1cHggNjVweCAvLyBNaW5pZmllZFxyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwOiAoXHJcbiAgICBzbWFsbDogMCBzcGFjaW5nLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nLCAyLCBwcmVzZXQtMSksXHJcbiAgICBsYXJnZTogMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBTcGVjaWZpY1xyXG4vLyAtLS0gTm8gaXRlbXMgZm91bmQgLS0tLSBcclxuJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbjogKCkgIWRlZmF1bHQ7XHJcbiRuby1pdGVtcy1mb3VuZC1wYWRkaW5nOiAoKSAhZGVmYXVsdDtcclxuJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRuby1pdGVtcy1mb3VuZC1pY29uLXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBJbnRlcm5hbCBFcnJvciAtLS0gXHJcbiRpbnRlcm5hbC1lcnJvci1tYXJnaW46ICRuby1pdGVtcy1mb3VuZC1tYXJnaW4gIWRlZmF1bHQ7XHJcbiRpbnRlcm5hbC1lcnJvci1wYWRkaW5nOiAoKSAhZGVmYXVsdDtcclxuJGludGVybmFsLWVycm9yLWZvbnQtc2l6ZTogJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGludGVybmFsLWVycm9yLWljcm9uLXNpemU6ICRuby1pdGVtcy1mb3VuZC1pY29uLXNpemU7XHJcbi8vIC0tLSBDYWxsb3V0cyAtLS1cclxuJG5vdGlmaWNhdGlvbi1jYWxsb3V0LWZvbnQtd2VpZ2h0OiAkb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb24tY2FsbG91dC10ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb21wdCBwb3B1cHMgLS0tIFxyXG4kbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nOiA4MHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gR2VuZXJhbCBOb3RpZmljYXRpb25zICggcGlubmVkIHRvIHRoZSBib3R0b20gb2YgdGhlIHdpbmRvdyApXHJcbiRub3RpZmljYXRpb25zLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTJweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyBCZWNhdXNlIG9mIFRpZGlvLi4uLi5cclxuJG5vdGlmaWNhdGlvbnMtei1pbmRleDogOTk5OTk5OTk5OSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDcuNXB4IDE1cHgsXHJcbiAgICBsYXJnZTogMTVweCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQV0EgLS0tIFxyXG4kbm90aWZpY2F0aW9ucy1hcHAtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTMgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDb29raWUgUG9saWN5IC0tLSBcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoJGNvbG91cjMtMiwgMC45KSAhZGVmYXVsdDtcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuXHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogaG92ZXItY29sb3VyKCRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGRlZmF1bHQtY29sb3VyKCRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbjEtYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb29raWUtbm90aWZpY2F0aW9uLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBEb2N1bWVudGF0aW9uIC0tLS0tIFxyXG4vLyBSZXN0cmljdGVkIGNvbnRlbnQuXHJcbiRkb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtY29udGVudC1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCkgIWRlZmF1bHQ7XHJcbi8vIEludGVybmFsIHVzZSBvbmx5IGNvbnRlbnQuXHJcbiRkb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LWNvbG91cjogJGRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1jb250ZW50LWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIEludHJvIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1pbnRyby1oZWFkaW5nLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24taW50cm8tc3ViLWhlYWRpbmctY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgJGNvbG91cjQpICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1pbnRyby1iYW5uZXItYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBMaXN0IC0tLSBcclxuJGRvY3VtZW50YXRpb24tbGlzdC1pdGVtLXBhZGRpbmc6IDdweCBzcGFjaW5nLXZhbHVlKCR0aGVhZC1wcmVzZXQtMSwgMiwgcGFkZGluZykgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gSGVhZGVyIGNvbnRhaW5lciAtLS1cclxuJGRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lci1tYXJnaW46IDM1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29udGVudCBDb250YWluZXIgLS0tXHJcbiRkb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBZGRpdGlvbmFsIExpbmtzIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGluay1ydWxlOiAxcHggc29saWQgJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDb250ZXh0IE1lbnUgLS0tLS1cclxuJGNvbnRleHQtbWVudS1jb250YWluZXItei1pbmRleDogMTk5NSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEdyYWR1YXRlZCBDb2xvdXIgRWRnZSAtLS0tLVxyXG4kZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXN0ZXAtaGVpZ2h0OiA2MHB4ICFkZWZhdWx0O1xyXG4kZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZTogNTYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDb2xsZWN0aW9ucyAtLS0tLSBcclxuXHJcbi8vIFRPRE86IFRoZSB0ZXJtaW5vbG9neSBuZWVkcyB0byBiZSBjaGFuZ2VkIGZyb20gXCIgYngtIFwiIHRvIFwiIGNvbGxlY3Rpb24tIFwiXHJcbiRieC1wYWdlci1idXR0b24tZGltZW50aW9uczogMTVweCAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1yYWRpdXM6ICRib3JkZXJSYWRpdXMyICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wYWdlci1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eTogKFxyXG4gICAgZGVmYXVsdDogLjUsXHJcbiAgICBob3ZlcjogLjgsXHJcbiAgICBhY3RpdmU6IDFcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLW9wYWNpdHk6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgZGVmYXVsdCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pdGVtLW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pdGVtLXBhZGRpbmc6IDEwcHggMCAyMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pdGVtLXBhZGRpbmctYm90dG9tOiAyMHB4ICFkZWZhdWx0OyAvLyBOZWVkIHRvIGFkZCBwYWRkaW5nIGJvdHRvbSBpZiBib3JkZXItYm90dG9tIGlzIHNldC5cclxuJGNvbGxlY3Rpb24tc2xpZGUtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNlbGwtcGFkZGluZzogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuLy8gSW52ZXJ0cyB3aGVuIGJveC1zaGFkb3cgaXMgYXBwbGllZCBmcm9tIHdoZW4gaG92ZXIgc3RhdGUgdG8gZGVmYXVsdCBzdGF0ZS5cclxuJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctY2VsbC1wYWRkaW5nOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWhvdmVyLWJveC1zaGFkb3ctc3VwcHJlc3M6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7IC8vIFVzZWZ1bCBpZiB3ZSBuZWVkIG1vcmUgc3BhY2UgYWZ0ZXIgYSBzZXBlcmF0b3IuXHJcbiRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cjogJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nOiAoXHJcbiAgICBjb21wYWN0OiAxMHB4LFxyXG4gICAgbm9uLWNvbXBhY3Q6IDE1cHggMTBweCAvLyBkZXNjcmVhc2luZyB0byAxMHB4IEwgKyBSIHRvIGtlZXAgYnV5IGJveCBmcm9tIHdyYXBwaW5nIGF0IDYgY29sdW1uLlxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1zdXBwcmVzcy1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiA1cHgsXHJcbiAgICBsYXJnZTogNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LWJveC1zaGFkb3ctaW52ZXJ0OiAkY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1jb250ZW50LWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IG5vbmUsXHJcbiAgICBob3ZlcjogJGJveFNoYWRvdzNcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tZmxleC1ncm93OiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1mbGV4LWJhc2lzOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWp1c3RpZnktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXM6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1wYWRkaW5nOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIG5vbi1jb21wYWN0KSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNiwgXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWhvdmVyLXVuZGVybGluZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbiRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1czogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGU6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIGF1dG8gMCxcclxuICAgIGxhcmdlOiAwIC8vIERvbid0IHNldCBtYXJnaW4gYm90dG9tLCB0aGlzIGlzIHR5cGljYWxseSBjb250cm9sIGJ5IG1vZHVsZSBvciByb3cgbWFyZ2lucy5cclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1pbWFnZS1tYXJnaW46IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tOiAzNXB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItcG9zaXRpb24tYm90dG9tOiAoJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLW1hcmdpbi1ib3R0b20gLSAxNSkgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXIzLTQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1pbWFnZS1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBIYXZpbmcgdG8gcmVzdHJpY3QgaW1hZ2Ugc2l6ZXMgZHVlIHRvIGV4dGVybmFsIGRhdGEgaW1hZ2VzIGRvZXMgbm90IGdvIHRocm91Z2ggRGlwbG9tYXQncyBpbWFnZSBtYW5hZ2VtZW50LCBkb250IG1lZGl1bSB5ZXQgYXMgd2UgY3VycmVudGx5IGRvbid0IHVzZSB0aGlzIGJyZWFrcG9pbnQgaW4gb3VyIGNvbGxlY3Rpb25zLlxyXG4kY29sbGVjdGlvbi1pbWFnZS1zaXplLXJlc3RyaWN0ZWQtYnktd2lkdGgtb25seTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNpemVzOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIDE6IDEyODBweCxcclxuICAgICAgICAyOiA2MzBweCxcclxuICAgICAgICAzOiA0MThweCxcclxuICAgICAgICA0OiAzMTJweCxcclxuICAgICAgICA1OiAyNDlweCxcclxuICAgICAgICA2OiAyMDVweCxcclxuICAgICAgICA3OiAxNzVweCxcclxuICAgICAgICA4OiAxNTNweFxyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgMTogJGdsb2JhbC13aWR0aCxcclxuICAgICAgICAyOiA2NDRweCxcclxuICAgICAgICAzOiA0MjRweCxcclxuICAgICAgICA0OiAzMTZweCxcclxuICAgICAgICA1OiAyNTBweCxcclxuICAgICAgICA2OiAyMDdweCwgXHJcbiAgICAgICAgNzogMTc1cHgsXHJcbiAgICAgICAgODogMTUycHhcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxMDAlLFxyXG4gICAgaGVpZ2h0OiAxcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDYXJvdXNlbCB0eXBvZ3JhcGh5IC0tLSBcclxuJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBjb2xsZWN0aW9uLWViZy1jb2xvdXIgbm9ybWFsbHkgZ2V0cyBzZXQgYnkgJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciBidXQgaWYgd2Ugd2FudCBlYmcncyB0byBiZSBhIGRpZmZlcmVudCBjb2xvdXIgdGhlbiB3ZSB1c2VkIHRoaXMgb3ZlcnJpZGUuXHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kY29sbGVjaXRvbi1lYmctZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogKCRkZWZhdWx0LWxpbmUtaGVpZ2h0IC0gLjMpICFkZWZhdWx0OyAvLyBJdCB3YXMgZGVjaWRlZCB0aGF0IGNvbGxlY3Rpb24gbGluZS1oZWlnaHRzIHNob3VsZCBiZSBzbGlnaHRseSB0aWdodGVyLlxyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHRyYW5zcGFyZW50LFxyXG4gICAgaG92ZXI6IHRyYW5zcGFyZW50LFxyXG4gICAgYWN0aXZlOiB0cmFuc3BhcmVudFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXI6ICRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vJGJ4LWRlc2NyaXB0aW9uLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuLy8gJGJ4LWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRieC1wcmljZS1mb250LXNpemU6ICRjb2xsZWN0aW9uLWNvbnRlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb2RlLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvZGUtY29sb3VyOiAkY29kZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIExhYmVsICYgVmFsdWUgcGFpcnMgKCBlc3NlbnRpYWxseSBzbWFsbCBwaWVjZXMgb2YgZGF0YSApXHJcbiRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemU6ICRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbGxlY3Rpb24gYnV5IGJveGVzIC0tLSBcclxuJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBmbGV4LXN0YXJ0LFxyXG4gICAgbGFyZ2U6IGZsZXgtc3RhcnRcclxuKSAhZGVmYXVsdDtcclxuLy9zcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdjb21wYWN0JylcclxuJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nOiAxNXB4IDAgMCAhZGVmYXVsdDtcclxuLy8gVGhpcyByZXBsYWNlcyB0aGUgYWJvdmUuXHJcbiRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZy10b3A6IDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29sbGVjdGlvbiBidXR0b25zIC0tLVxyXG4kY29sbGVjdGlvbi1idXR0b24td2lkdGg6IDY2JSAhZGVmYXVsdDtcclxuLy8gTWFyZ2luIHRvcCBtdXN0IGJlIHNldCB0byBhdXRvIHRvIGFzc2lzdCBlcXVhbGlzaW5nIHRoZSBidXR0b25zIG9uIGVhY2ggcm93LlxyXG4kY29sbGVjdGlvbi1idXR0b25zLW1hcmdpbjogYXV0byBhdXRvIHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nLCAxKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBTbGlkZXMgc3R5bGVzIC0tLSBcclxuLy8gQ2hhbmdnaW5nIHRvIHRyYW5zcGFyZW50IHRvIGFsbG93IHVzZSBvZmYgcm93LCBtb2R1bGUgJiBjb250ZW50IGJhY2tncm91bmRzLlxyXG4vLyBUaGlzIHZhcmlhYmxlIGlzIG5vIGxvbmdlciB1c2VkIGFzIHdlIG5lZWRlZCBtb3JlIGZsZXhpYmlsaXR5IGZvciBtb2R1bGUgY29udGVudCBiYWNrZ3JvdW5kcywgaGF2ZSBpbnRyb2R1Y2VkICRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91ciB0byBoYW5kbGUgcHJvZHVjdCBjb2xsZWN0aW9ucyBhcyB0aGV5IG5lZWQgdG8gaGF2ZSBhIGJhY2tncm91bmQgY29sb3VyICggaS5lIHdoaXRlICkgZHVlIHRvIHRoZSBjb250ZW50IHRoYXQgaXMgYmVpbmcgZGlzcGxheWVkLlxyXG4kYngtc2xpZGUtYmFja2dyb3VuZC1jb2xvdXI6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENhcm91c2VsIENvbnRyb2xzIC0tLVxyXG4vLyBDb250cm9sc1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0OiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1ndXR0ZXI6IDEwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb246ICdib3R0b20tcmlnaHQnICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogJGJveFNoYWRvdzIsXHJcbiAgICBob3ZlcjogJGJveFNoYWRvdzJcclxuKSAhZGVmYXVsdDtcclxuLy8gUGFkZGluZyB1c2VkIGZvciBhbGlnbm1lbnQgaWYgdXNpbmcgY3VzdG9tIGljb25zLlxyXG4kY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogNDVweCxcclxuICAgIG5vcm1hbDogMzBweCxcclxuICAgIGxhcmdlOiA3NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxNHB4LFxyXG4gICAgbGFyZ2U6IDE4cHhcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWljb24tc2hhZG93OiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIwLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLCBcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuLy8gRHVlIHRvIHVzaW5nIHZhcmlvdXMgZGlmZmVyZW50IGZvbnQgZmFtaWxpZXMgZm9yIGdseXBocyBwbGFjZW1lbnQgb2YgdGhlIGdseXRoIGluIGl0cyBjYW52YXMgY2FuIHZhcnkgc28gaW4gc29tZSBjYXNlcyB3ZSBuZWVkIHRvIGFkZCBhIHNoaW0gdG8gY2VudHJhbGlzZSBpdCB3aXRoaW4gdGhlIGJ1dHRvbi5cclxuJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTZXBlcmF0b3JzIC0tLVxyXG4kY29sbGVjdGlvbi1zZXBlcmF0b3JzLWRlZmF1bHQtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDFweCxcclxuICAgIGhlaWdodDogODAlXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQVhJUyBUb29sdGlwIC0tLS0tIFxyXG4kdG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci13aWR0aDogMzAwcHggIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemU6IDkgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aDogMiAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1ib3JkZXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodCAhZGVmYXVsdDsgLy8gRm9yIHdhcm5pbmcgJiBhbGVydC5cclxuJHRvb2x0aXAtY29udGVudC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1pbmZvLWljb24tc2l6ZTogMTBweCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogcmdiYSgkY29sb3VyMy02LCAwLjcpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSGVhZGVyIC0tLS0tXHJcbiRoZWFkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZS1wb3NpdGlvbjogdG9wIHJpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIFJlc3BvbnNpdmUgLS0tIFxyXG4vLyBXaGljaCBjb21wb25lbnRzIGluIG1vYmlsZSBkb24ndCBnZXQgc3VwcHJlc3NlZCBpbnNpZGUgb2YgdGhlIGhlYWRlci1jb250ZW50LSogY29udGFpbmVycy5cclxuJGhlYWRlci1jb21wb25lbnQtZGlzcGxheS1saXN0OiBcIi5sb2dvLWNvbnRhaW5lclwiLCBcIiNhY3Rpb24tYmFyLWNvbnRhaW5lclwiLCBcIi5oZWFkZXItc2VhcmNoLWNvbnRhaW5lclwiLCBcIi5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlXCIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDogODB2aCAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4OiAyMDAwICFkZWZhdWx0O1xyXG4kaGVhZGluZy1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0Ny43JSAyOC41JSAhZGVmYXVsdDtcclxuJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlcjogKCkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZGVza3RvcC1zZXBhcmF0b3I6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBtZWRpdW06IDAgMTBweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemU6IDM1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDIuNXB4LFxyXG4gICAgbWVkaXVtOiAwIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlOiAxODBkZWcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDI0cHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1oYW1idXJnZXItaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5OiAoXHJcbiAgICBtYWlsOiB0cnVlLFxyXG4gICAgdGVsZXBob25lOiB0cnVlLFxyXG4gICAgc2VhcmNoOiB0cnVlLFxyXG4gICAgYmFza2V0OiB0cnVlLFxyXG4gICAgaGFtYnVyZ2VyOiB0cnVlXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLXdlaWdodDogMnB4ICFkZWZhdWx0O1xyXG4vLyAkaGVhZGVyLW5hdi1yaWdodC13aWR0aDogMzcwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgdG9nZ2xlIGJhciAgWyBEZXNrdG9wIF0gLS0tIFxyXG4kaGVhZGVyLXRvZ2dsZS1iYXItZ2FwOiAwIDEyLjVweCAhZGVmYXVsdDtcclxuLy8gQnV0dG9uc1xyXG4kaGVhZGVyLXRvZ2dsZXItYmFyLWJ1dHRvbi1taW4taGVpZ2h0OiAzNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nOiAzLjVweCA3Ljc1cHg7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1jb250ZW50LXdpZHRoczogKFxyXG4gICAgc2VhcmNoOiA0OTBweCwgICAgXHJcbiAgICBhY3Rpb24tYmFyOiAyNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIEFjY291bnQgQnV0dG9uIC0tLVxyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLW1pbi1oZWlnaHQ6ICRoZWFkZXItdG9nZ2xlci1iYXItYnV0dG9uLW1pbi1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tZmxleC1kaXJlY3Rpb246IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZzogKFxyXG4gICAgZGVmYXVsdDogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nLFxyXG4gICAgbWluaWZpZWQ6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tZ3V0dGVyOiAxMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tc2l6ZTogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMy0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyM1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy00LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciBVcHBlciAtLS1cclxuJGhlYWRlci11cHBlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb25zLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy11cHBlci1pY29ucy1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb24tbWFyZ2luOiAwIDEwcHggMCAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb24tcGFkZGluZzogMXB4IDVweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMiAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCA6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtaWNvbi1zaXplOiAkaGVhZGluZy11cHBlci1pY29ucy1zaXplICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWljb24tbGluZS1oZWlnaHQ6IDIycHggIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtaWNvbi1yb3RhdGU6ICRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZSAhZGVmYXVsdDtcclxuJG1lbnVzLWVtYWlsLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLWVtYWlsLWljb24tc2l6ZTogJGhlYWRpbmctdXBwZXItaWNvbnMtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYm9yZGVyLXdpZHRoOiAwIDAgMXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItcGFkZGluZzogNy41cHggMTVweCAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNaWRkbGUgLS0tXHJcbiRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAzNCUsXHJcbiAgICBtZWRpdW06IG5vbmUsXHJcbiAgICBsYXJnZTogJGdsb2JhbC13aWR0aFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEhlYWRlciBjb250ZW50IGxlZnQuXHJcbi8vIERlcHJlY2F0ZWQgbW92aW5nIHRvIHJlbGF0aXZlIGxlbmd0aFxyXG4vLyAkbG9nby1jb250YWluZXItd2lkdGg6IChcclxuLy8gICAgIGxhcmdlOiAzMTBweFxyXG4vLyApICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28td2lkdGg6IChcclxuICAgIGxhcmdlOiAyMDBweCxcclxuICAgIG1pbmlmaWVkOiAxMDVweCxcclxuICAgIHNtYWxsOiA2NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA2NXB4LFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLWFuY2hvci1tYXJnaW46IChcclxuICAgIHNtYWxsOiA1cHggMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby1pbWFnZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCwgXHJcbiAgICBsYXJnZTogMjVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRzaG93LW1pbmlmaWVkLWxvZ28tc21hbGw6IGZhbHNlICFkZWZhdWx0O1xyXG4kbG9nby1jb250YWluZXItanVzdGlmeTogbm9ybWFsICFkZWZhdWx0O1xyXG4kbG9nby1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAxMHB4IDAgMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xyXG5cclxuJGhlYWRlci1jb250ZW50LWxlZnQtdGVtcGxhdGUtY29sdW1uczogKFxyXG4gICAgbGFyZ2U6IDFmciAjeygkZ2xvYmFsLXdpZHRoIC8gMyl9LFxyXG4gICAgeHhsYXJnZTogMWZyICN7KCRnbG9iYWwtd2lkdGggLyAyKX1cclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtYWxpZ24taXRlbXM6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LWp1c3RpZnR5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS11bmRlcmxpbmUtaGVpZ2h0OiAycHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbWFyZ2luOiBhdXRvIDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLW1hcmdpbjogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtaXRlbS1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nOiAxNXB4IDEwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWJhY2tncm91bmQtY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuLy8gSGVhZGVyIGNvbnRlbnQgY2VudGVyLlxyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1jb250YWluZXItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZzogMCAhZGVmYXVsdDtcclxuXHJcbi8vIEhlYWRlciBjb250ZW50IHJpZ2h0LlxyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnM6IChcclxuICAgIGxhcmdlOiAxZnIsXHJcbiAgICB4bGFyZ2U6IDFmcixcclxuICAgIHh4bGFyZ2U6ICN7KCRnbG9iYWwtd2lkdGggLyAyKX0gMWZyXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1hbGlnbm1lbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC1zaXplOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWFuY2hvci1wYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFNvIHRoZSBjb250ZW50IGZpdHMgdGlnaHQgYWdhaW5zdCB0aGUgY29udGVudCBjb250YWluZXIuXHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LXN1cHByZXNzLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIExvd2VyIC0tLVxyXG4kaGVhZGVyLW1lZ2EtbWVudS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoLCBsYXJnZSksXHJcbiAgICB4bGFyZ2U6IG51bGwsXHJcbiAgICB4eGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnM6IHRydWUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtc3VwcHJlc3Mtb3V0ZXItc2VwZXJhdG9yczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDFweCxcclxuICAgIGhlaWdodDogMTAwJVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcDogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG93ZXItdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuLy8kaGVhZGVyLWxvd2VyLWl0ZW0tcGFkZGluZzogMTVweCAxNXB4ICFkZWZhdWx0O1xyXG4vLyBNZWdhIE1lbnVcclxuJG1lZ2EtbWVudS1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWJvcmRlci13aWR0aDogMXB4IDAgMCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ib3JkZXItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1tb2JpbGUtbWF4LWhlaWdodDogODB2aCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1tb2JpbGUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuLy8gTWVnYSBtZW51IGljb25zLlxyXG4kbWVnYS1tZW51LXNob3ctaWNvbnM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXNob3ctaWNvbnMtbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWljb25zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgOHB4IDAgOHB4LFxyXG4gICAgbGFyZ2U6IDAgOHB4IDAgMCBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pY29ucy1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWljb25zLWZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItZGVza3RvcC1tYXgtaGVpZ2h0OiA3MHZoICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxNy41cHgsXHJcbiAgICBsYXJnZTogNDBweCA0N3B4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm94LXNoYWRvdzogMHB4IDIwcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNZWdhIG1lbnUgSW1hZ2UgLS0tXHJcbiRtZWdhLW1lbnUtaW1hZ2UtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pbWFnZS1kZXNrdG9wLW1hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaW1hZ2UtYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pbWFnZS1kaW1lbnNpb25zOiAyMDBweCAhZGVmYXVsdDtcclxuLy8gLS0tIE1vYmlsZSBOYXZpZ2F0aW9uIHRleHQgKCBIZWFkZXIgKSAtLS1cclxuJG1lbnUtbmF2LXRleHQtbWFyZ2luOiAzMHB4IDAgNDBweCAhZGVmYXVsdDtcclxuLy8gTGV2ZWwgMVxyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3MtZmlyc3QtY2hpbGQtbWFyZ2luOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWF4LXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwLFxyXG4gICAgbGFyZ2U6IDE1XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDcwMCxcclxuICAgIGxhcmdlOiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcsXHJcbiAgICBsYXJnZTogMTVweCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQtc21hbGw6ICRjb2xvdXI0LFxyXG4gICAgZGVmYXVsdC1sYXJnZTogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbGFyZ2UtdmFsdWUoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyKSwgLy8geW91IG1heSBnZXQgaXNzdWVzIGhlcmUgZm9yIG1vYmlsZS5cclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplOiAoXHJcbiAgICBzbWFsbDogMzVweCxcclxuICAgIGxhcmdlOiA0NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDEwcHggMCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtZGVzY3JpcHRpb24tcGFkZGluZzogMTBweCAwIDAgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIExldmVsIDJcclxuJG1lZ2EtbWVudS1tYXgtY29sdW1uczogOCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi1jb250ZW50LWNvbnRhaW5lcjogaWYoJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoLCAkZ2xvYmFsLXdpZHRoLCAxMDAlKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6IDIwcHggMTVweCAhZGVmYXVsdDtcclxuJGRlZmF1bHQtbWVudS1kcm9wZG93bi1ib3JkZXItY29sb3VyOiAkY29sb3VyNDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nLFxyXG4gICAgbGFyZ2U6IDEwcHggMCA1cHggNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXNpemU6IChcclxuICAgIHNtYWxsOiAxNyxcclxuICAgIGxhcmdlOiAxNVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDcwMCxcclxuICAgIGxhcmdlOiA4MDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC10ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyBMZXZlbCAzLlxyXG4kbWVnYS1tZW51LWNoaWxkLWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtY2hpbGQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE3LFxyXG4gICAgbGFyZ2U6IDE0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQ6IChcclxuICAgIHNtYWxsOiA0MDAsXHJcbiAgICBsYXJnZTogNDAwXHJcbikgIWRlZmF1bHQ7IFxyXG4kbWVnYS1tZW51LWNoaWxkLWNvbG91cjogKFxyXG4gICAgc21hbGw6ICRjb2xvdXIyLFxyXG4gICAgbGFyZ2UtZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBsYXJnZS1ob3ZlcjogJGNvbG91cjYsXHJcbiAgICBsYXJnZS1hY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtY2hpbGQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDIpIDVweCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDQpLFxyXG4gICAgbGFyZ2U6IDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAyLCBsYXJnZSkgMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDQsIGxhcmdlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBWaWV3IG1vcmUuXHJcblxyXG4vLyBBY2NvdW50IE1lbnUuXHJcbiRhY2NvdW50LW1lbnUtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDU1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LW1lbnUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEdldHMgdXNlZCBpbiBoZWFkZXIgdmFyaWFudCAzXHJcbiRhY2NvdW50LW1lbnUtYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJGFjY291bnQtbWVudS1pdGVtLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4kbWVudS1sZXZlbDEtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwyLWRlZmF1bHQtbW9iaWxlLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1kZWZhdWx0LWhvdmVyLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWFuY2hvci1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuXHJcbi8vIENvbW1vbiBtZW51IHN0eWxlc1xyXG4kbW9iaWxlLW1lbnUtZm9vdGVyLXBhZGRpbmctYm90dG9tOiA1MHB4ICFkZWZhdWx0OyBcclxuJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tc2l6ZTogNnB4ICFkZWZhdWx0O1xyXG4kbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyOiB0cnVlICFkZWZhdWx0O1xyXG4vLyBTdXBwcmVzc2luZyB0byBhbGxvdyBmb3IgY29tcGFjdCBoZWFkZXIgZm9yIGF4aXMgcG9ydGFsLlxyXG4vLyAkaGVhZGVyLWNvbnRlbnQtbWluLWhlaWdodDogMTQ1cHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBTdGF0dXMgbWVzc2FnZXMgLS0tIFxyXG4kaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1zZXBlcmF0b3ItY29sb3VyOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBUYWdsaW5lIC0tLVxyXG4kaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtbG93ZXItc3VwcHJlc3M6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGluZy10YWdsaW5lLXBhZGRpbmc6IDhweCAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtbGV0dGVyLXNwYWNpbmc6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xyXG4vLyAtLS0gU2VhcmNoIC0tLVxyXG4vLyAkaGVhZGVyLXNlYXJjaC13aWR0aDogNjIwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWhlaWdodDogNTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1mYW1pbHk6IG51bGwgIWRlZmF1bHQ7IFxyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gQXMgd2UgbWlnaHQgd2FudCB0byBzZXQgdGhlIHNoYWRvdyBvbiB0aGUgY29udGFpbmVyIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBpbnB1dHMuXHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3c6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWljb24tc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctc2VhcmNoLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6ICRoZWFkZXItdGFnbGluZS1oZWlnaHQgNDBweCAwIDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1pbnB1dC1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtYm9yZGVyLXdpZHRoLW92ZXJyaWRlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLW92ZXJyaWRlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWJ1dHRvbi1pY29uLWNvbG91ci1vdmVycmlkZTogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIFdlbGNvbWUgVGV4dCAtLS0gXHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBsYXJnZTogZmxleC1lbmQsXHJcbiAgICB4eGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWhlaWdodDogJGhlYWRlci10YWdsaW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC10ZXh0LWFsaWduOiByaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEF1dG9jb21wbGV0ZSAoIFNlYXJjaCApXHJcbiRhYy1yZXN1bHQtcGluLXRvLXRvcDogdHJ1ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uOiAoXHJcbiAgICB0b3A6IGlmKG5vdCAkYWMtcmVzdWx0LXBpbi10by10b3AsIC0je3NwYWNpbmctdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nLCAxLCBsYXJnZSl9LCBudWxsKSxcclxuICAgIHJpZ2h0OiBudWxsLFxyXG4gICAgbGVmdDogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy13aWR0aDogNzAwcHggIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLW9mZnNldDogLSN7c3BhY2luZy12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcsIDQsIGxhcmdlKX0gIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLWJveC1zaGFkb3c6ICRib3hTaGFkb3cxICFkZWZhdWx0O1xyXG4kYWMtcmVzdWx0cy1wYWRkaW5nOiAoXHJcbiAgICB0b3A6IDExMHB4LFxyXG4gICAgc2lkZTogMCxcclxuICAgIGJvdHRvbTogNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtbWFyZ2luOiAxMHB4IDAgMTVweCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tcGFkZGluZzogNXB4IDE1cHggIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlci13aWR0aDogMCAwIDFweCAwICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjaXRvbi1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSkgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGFjLXZpZXctYWxsLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRhYy12aWV3LWFsbC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGFjLXZpZXctYWxsLWZvbnQtc2l6ZTogKCRhYy10aXRsZS1jb2xsZWN0aW9uLWZvbnQtc2l6ZSAtIDEpICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1saXN0LXBhZGRpbmc6IDEwcHggMCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tY29udGVudC1nYXA6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tcGFkZGluZzogMCAyMHB4IDAgMCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tbWFyZ2luOiAwIDAgNXB4ICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1pbWFnZS1tYXJnaW46IDAgMTBweCAwIDAgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWltYWdlLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiA1MHB4LFxyXG4gICAgaGVpZ2h0OiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLXJlZmVyZW5jZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tc25pcHBldC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhYy1pdGVtLXJlZmVyZW5jZS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBOYXZpZ2F0aW9uIC0tLVxyXG4vLyBIb21lIEJ1dHRvblxyXG4kaG9tZS1idXR0b24td2lkdGg6IGZpdC1jb250ZW50ICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24taWNvbi1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1zdXBwcmVzcy1iYWNrZ3JvdW5kLWNvbG91cjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LWxhcmdlKSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1idXR0b24tcGFkZGluZzogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCBsYXJnZSkgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuJGhvbWUtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnM6IChcclxuICAgIHdpZHRoOiAycHgsXHJcbiAgICBoZWlnaHQ6IDgwJVxyXG4pICFkZWZhdWx0O1xyXG4kaG9tZS1zZXBlcmF0b3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFN0aWNreSAtLS0gXHJcbiRoZWFkZXItbWluaWZpZWQtaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1pbmlmaWVkLW1lZ2EtbWVudS1wYXJlbnQtZ3JvdXAtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5OiAxICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vIC0tLSBCYXNrZXQgUHJldmlldyAtLS0gXHJcbiRkZXNrdG9wLXN1bW1hcnktd2lkdGg6IDI1NXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSlcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91cixkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtaG92ZXItY29sb3VyOiAkY29sb3VyNC0xICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIGhvdmVyOiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aW91cy1pY29uLXdpZHRoOiA3MnB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLXBhZGRpbmc6IChcclxuICAgIGRlZmF1bHQ6IDlweCAyM3B4LFxyXG4gICAgbWluaWZpZWQ6IDRweCAyM3B4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgd2FybmluZzogJGNvbG91cjEsXHJcbiAgICBhbGVydDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7IC8vIEZvciB3YXJuaW5nICYgYWxlcnQgc3RhdGVzLlxyXG4kYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ci1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICB3YXJuaW5nOiAkY29sb3VyNixcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWFsaWduLWl0ZW1zOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2FsbCB0byBhY3Rpb24gLS0tIFxyXG4kaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lci1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodCAhZGVmYXVsdDtcclxuXHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWZvbnQtc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuLy8gLS0tIEJyZWFkY3J1bWJzICYgVmF0IFN3aXRjaGVyIC0tLSBcclxuJGhlYWRlci1uby1icmVha2NydW1icy10b2dnbGUtc3dpdGNoLXNoaW0tb24taG9tZXBhZ2U6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLW5vLWJyZWFkY3J1bWJzLXZhdC1zd2l0Y2gtc2hpbTogNy41cHggIWRlZmF1bHQ7IC8vIHRyeSBhbmQga2VlcCBpbiBzeW5jIHdpdGggbW9kdWxlIG1hcmdpbiB0b3AgKyBib3R0b20gKCBpLmUgaGFsZiAkbW9kdWxlcy1tb2R1bGUtbWFyZ2luICkuXHJcbiRicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDhweCAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEJyZWFkY3J1bWJzIC0tLVxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hY3RpdmUtZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3ItbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3ItY29sb3VyOiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaXplOiAxMHB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLW1hcmdpbjogMCA1cHggIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3Itc2hpbTogMXB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtdXBwZXJjYXNlOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBWQVQgU3dpdGNoZXIgLS0tIFxyXG4kdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHZhdC1oaWdobGlnaHRlZC1hY3RpdmUtbGFiZWw6IGZhbHNlICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDQwMCxcclxuICAgIGFjdGl2ZTogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zOiAzNHB4ICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBleGNsdXNpdmU6ICRjb2xvdXIwLFxyXG4gICAgaW5jbHVzaXZlOiAkY29sb3VyMFxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBleGNsdXNpdmU6ICRjb2xvdXIzLTIsXHJcbiAgICBpbmNsdXNpdmU6ICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZ2FwOiAwIDEwcHggIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItcGFkZGxlLWNvbG91cjogKFxyXG4gICAgZXhjbHVzaXZlOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDMpLFxyXG4gICAgaW5jbHVzaXZlOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTIsIDMpXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gVVNQIEJhciAtLS0gXHJcbiR1c3Atb3JkZXItaW52ZXJ0OiBmYWxzZSAhZGVmYXVsdDtcclxuJHVzcC1pbWFnZS1ndXR0ZXI6IDEycHggIWRlZmF1bHQ7XHJcbiR1c3AtaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiR1c3AtaW1hZ2UtcGFkZGluZzogNnB4ICFkZWZhdWx0O1xyXG4kdXNwLWJhci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IDAgNy41cHgsXHJcbiAgICBsYXJnZTogMTBweCAwIDBcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1wYWRkaW5nOiAxNXB4IDVweCAhZGVmYXVsdDtcclxuJHVzcC1iYWNrZ3JvdW5kLWZ1bGwtd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xyXG4kdXNwLWhvdmVyLW9wYWNpdHk6IC42ICFkZWZhdWx0O1xyXG4kdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6IGRhcmtlbigkY29sb3VyMywgMTAlKSxcclxuICAgIGFjdGl2ZTogZGFya2VuKCRjb2xvdXIzLCAyMCUpXHJcbikgIWRlZmF1bHQ7XHJcbiR1c3AtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiR1c3AtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJHVzcC1ndXR0ZXI6IDAgIWRlZmF1bHQ7XHJcbiR1c3Atc2VwZXJhdG9yOiB0cnVlICFkZWZhdWx0O1xyXG4kdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMnB4LFxyXG4gICAgaGVpZ2h0OiAyOHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR1c3Atc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR1c3AtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiR1c3AtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kdXNwLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiR1c3AtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHVzcC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yLWN1c3RvbS1pY29uOiAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMgIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvci1mb250LXNpemU6IDExcHggIWRlZmF1bHQ7XHJcbiR1c3AtYW5jaG9yLWluZGljYXRvci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdXNwLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJHVzcC1ib3JkZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gTW9kdWxlcyAtLS0tLSBcclxuJG1vZHVsZS1oMS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kbW9kdWxlLWgyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRtb2R1bGUtaGVhZGluZy1ib3JkZXI6IDBweCBzb2xpZCAkY29sb3VyMCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtZmlyc3Qtcm93LW1vZHVsZS1tYXJnaW4tdG9wOiAwICFkZWZhdWx0O1xyXG4vLyAtLS0gUm93IEJhY2tncm91bmQgLS0tXHJcbiRtb2R1bGVzLXJvdy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiA0NXB4IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRtb2R1bGVzLXJvdy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjVweCxcclxuICAgIGxhcmdlOiAwIDAgNTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJvdyBDb250YWluZXIgLS0tIFxyXG4kbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICgwKSxcclxuICAgIGxhcmdlOiAoNDVweClcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtcm93LWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1vZHVsZSBDb250YWluZXIgLS0tXHJcbiRtb2R1bGVzLW1vZHVsZS1ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBtZWRpdW06IDEwcHgsXHJcbiAgICBsYXJnZTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDIuNXB4LCBhdXRvKSxcclxuICAgIGxhcmdlOiAoMzBweCwgYXV0bylcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbW9kdWxlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1vZHVsZSBDb250ZW50IENvbnRhaW5lciAtLS1cclxuJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbWVkaXVtOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpLFxyXG4gICAgbGFyZ2U6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFnZSBIZWFkaW5nIC0tLSBcclxuJG1vZHVsZXMtcGFnZS1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRUJHIC0tLVxyXG4kbW9kdWxlcy1lYmctcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ01TIG1vZHVsZShzKSBhc3NvY2lhdGVkIGJhbm5lciBpbWFnZSBtYW5hZ2VtZW50IC0tLVxyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0OiBjb3ZlciAhZGVmYXVsdDsgLy8gdGhpcyBjb250cm9scyB0aGUgbGFyZ2UgYnJlYWtwb2ludC5cclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQ6IChcclxuICAgIGV2ZW50czogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIG5ld3M6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBibG9nOiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0LFxyXG4gICAgZW50cnk6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHRcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQ6IChcclxuICAgIGV2ZW50czogNTUwcHgsXHJcbiAgICBuZXdzOiAzNzVweCxcclxuICAgIGJsb2c6IDQ3NXB4LFxyXG4gICAgZW50cnk6IDM4MHB4IC8vIElmIGxlZnQgb3IgcmlnaHQgYWxpZ25lZC5cclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBCbG9nIC0tLS0gXHJcbiRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy15LWd1dHRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogKDApLFxyXG4gICAgbGFyZ2U6ICgwKVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDUwcHggMTBweCxcclxuICAgIGxhcmdlOiA1MHB4IDcuNSVcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1jb250ZW50LXJlYWQtbW9yZS1tYXgtaGVpZ2h0LXdpdGgtYmFubmVyOiB1bnNldCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBOZXdzIC0tLVxyXG4kbW9kdWxlcy1uZXdzLXktZ3V0dGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbmV3cy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAoMjVweCksXHJcbiAgICBsYXJnZTogKDQwcHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW5ldy1oZWFkaW5nLW1hcmdpbjogMCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLW5ld3MtaGVhZGluZy1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBFdmVudHMgLS0tIFxyXG4kbW9kdWxlcy1ldmVudHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ldmVudHMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gR3JpZCBjb2xsZWN0aW9uIC0tLSBcclxuLy8gQ29sbGVjdGlvbiBpdGVtXHJcbiRtb2R1bGVzLWdyaWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogNy41cHgsXHJcbiAgICBtZWRpdW06IDE1cHgsIC8vIENoYW5naW5nIHRvIDE1cHggdG8gbWF0Y2ggZmFsbGJhY2sgZ3V0dGVyLlxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gR3V0dGVyIGZhbGxiYWNrIGlmIENTUyB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCwgaS5lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJsaXR5IG9mIG9sZCBtb2R1bGVzLlxyXG4kbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjazogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBtZWR1bTogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBsYXJnZTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENNUyBNb2R1bGVzIC0tLSBcclxuJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWFyZ2luOiBhdXRvICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4OiAwIDAgNTAlICFkZWZhdWx0O1xyXG4vLyBVc2VkIGZvciBpbWFnZSByaWdodCArIGxlZnQuXHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMjBweCwgMjVweCksXHJcbiAgICBsYXJnZTogKDQ1cHgsIDUwcHgpXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLWVudHJ5LXJlYWQtbW9yZS1tYXgtaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogMjUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVXNlZCBhcyBhIG92ZXJyaWRlIGZvciBtaXhpbiBjbXMtaGVhZGluZ3MgaWYgbmVlZGVkLlxyXG4kY21zLW1vZHVsZS1oZWFkaW5nLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b246IChcclxuICAgIGJsb2c6IGZhbHNlLFxyXG4gICAgZXZlbnRzOiBmYWxzZSxcclxuICAgIG5ld3M6IGZhbHNlXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLXNob3ctYm9yZGVyOiAoXHJcbiAgICBibG9nOiBudWxsLFxyXG4gICAgZXZlbnRzOiBudWxsLFxyXG4gICAgbmV3czogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGg6IChcclxuICAgIGJsb2c6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uLFxyXG4gICAgbmV3czogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb24sXHJcbiAgICBldmVudHM6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgtY29tbW9uXHJcbik7XHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtanVzdGlmeS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4vLyBVc2VkIGZvciBjbXMgbW9kdWxlcyB0aGF0IGFyZSBub3Qgb2YgdHlwZSBlbnRyeSBpLmUgYmxvZywgbmV3cywgZXZlbnQuXHJcbiRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDTVMgU3Vic2lkaWFyeSAtLS0gXHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLXBhZGRpbmc6IDE4cHggIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctc2l6ZTogcmVtLWNhbCgyMikgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3Itc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ01TIFBhZ2VzIC0tLS0tIFxyXG4vLyAtLS0gQ29tbW9uIFN0eWxlcyAtLS0gXHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1tYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LW1hcmdpbi10b3AtYm90dG9tOiAzMHB4ICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWNvbG91cjogJGNvbG91cjMtNyAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXNpemU6IDIwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWNvbnRlbnQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnZS1oZWFkaW5nLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1wYWdlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnZS1oZWFkaW5nLWxldHRpbmctc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJHNob3ctY21zLWJhY2tncm91bmQ6IChcclxuICAgIGJsb2c6IGZhbHNlLFxyXG4gICAgbmV3czogZmFsc2UsXHJcbiAgICBldmVudDogZmFsc2UsXHJcbiAgICBpbmZvcm1hdGlvbjogdHJ1ZVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ01TIFR5cGUgc3BlY2lmaWMgKCBibG9nLCBldmVudHMsIG5ld3MsIGV0YyApIC0tLVxyXG4kbmV3cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAgIWRlZmF1bHQ7XHJcbiRibG9nLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4gKSAhZGVmYXVsdDtcclxuJGV2ZW50cy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRpbmZvcm1hdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBUYWJsZSBEaXNwbGF5IC0tLSBcclxuJGNtcy10YWJsZS1yb3ctcGFkZGluZzogKFxyXG4gICAgdG9wLWJvdHRvbTogNDBweCwgXHJcbiAgICByaWdodC1sZWZ0OiAxMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFydGljbGUgUGFnZXMgLS0tXHJcbiRjbXMtcGFnaW5hdGlvbi1sYWJlbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgMSkgMTVweCBzcGFjaW5nLXZhbHVlKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsIDMpICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCwgXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplOiAyNnB4ICFkZWZhdWx0O1xyXG4vLyBEZXBlbmRpbmcgb24gdGhlIGljb24gLyBpY29uLWZhbWlseSB5b3UncmUgdXNpbmcgeW91IG1heSBuZWVkIHRvIHByb3ZpZGUgYSBzaGltIHRvIHBlcmZlY3RseSBjZW50ZXJhbGlzZS5cclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW06IDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gU3RvY2sgLS0tLS0gXHJcbi8vIC0tLSBQcmljZSAtLS0gXHJcbiRwcmljZS1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRwcmljZS12YXQtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuLy8gVE9ETzogZ2V0IHJpZCBvZiB0aGlzIGZvciBjZWxsIGFsaWdubWVudC5cclxuJHByaWNlLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTdG9jayBJbmRpY2F0b3JzIC0tLSBcclxuJHN0b2NrLWluZGljYXRvci13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZTogKFxyXG4gICAgc29oLTA6ICRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemUsXHJcbiAgICBzb2gtMTogJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZSxcclxuICAgIHNvaC0yOiAkc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1pY29uLXBhZGRpbmc6IDAgNXB4IDAgMCAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kc29oLTItaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTIgIWRlZmF1bHQ7XHJcbiRzb2gtMC1pY29uLWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHNvaC0wLWxldmVsLWNvbG91cjogJHNvaC0wLWljb24tY29sb3VyICFkZWZhdWx0O1xyXG4kc29oLTEtaWNvbi1jb2xvdXI6ICRjb2xvdXI2LTMgIWRlZmF1bHQ7XHJcbiRzb2gtMS1sZXZlbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJHNvaC0wLWljb24tY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc29oLW5vdGlmaWNhdGlvbi1zdGF0dXMtaWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kc29oLWNvbGxlY3Rpb24tb25seS1jdXN0b20taWNvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzb2gtY29sbGVjdGlvbi1vbmx5LWljb24tc2l6ZTogMjRweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEltYWdlcyAtLS0tLVxyXG4vLyBBbGwgaW1hZ2VzIHNob3VsZCBiZSB3cmFwcGVkIGluIGEgLmltYWdlIGNvbnRhaW5lciwgZm9yIHBuZydzIHRoZXkgbWF5IGhhdmUgYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kIHdoaWNoIG9mdGVuIGRvZXNuJ3Qgd29yayBpbiB0aGUgY29udGV4dCBvZiB0YWJsZXMgd2hlcmUgd2UgaGF2ZSBvZGQvZXZlbiBjb2xvdXJpbmcgb24gcm93cywgc28gYXMgYSBnZW5lcmlhbCBydWxlIGFkZGluZyBhIHdoaXRlIGJhY2tncm91bmQgdG8gYWxsIGltYWdlcy5cclxuJGltYWdlLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lZGlhLWFzcGVjdC1yYXRpb3M6IChcclxuICAgIFwicHJvZHVjdFwiOiAoXHJcbiAgICAgICAgXCJ3aWR0aFwiOiAxLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IDFcclxuICAgICksXHJcbiAgICBcImViZ1wiOiAoXHJcbiAgICAgICAgXCJ3aWR0aFwiOiAxLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IDFcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvOiBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIHByb2R1Y3QsIHdpZHRoKSArIFwiL1wiICsgbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBwcm9kdWN0LCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kZWJnLW1lZGlhLWFzcGVjdC1yYXRpbzogbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBlYmcsIHdpZHRoKSArIFwiL1wiICsgbWFwLWRlZXAtZ2V0KCRtZWRpYS1hc3BlY3QtcmF0aW9zLCBlYmcsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pIC8gdmFyKC0tbWVkaWEtaGVpZ2h0LCBhdXRvKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEltYWdlIG92ZXJsYXlzICggc2FzaGVzICkgLS0tIC0tXHJcbiRpbWFnZS1vdmVybGF5LXVybDogJy9jb250ZW50L2ltYWdlcy9vdmVybGF5cy8nO1xyXG4kaW1hZ2Utb3ZlcmxheS1wb3NpdGlvbjogY2VudGVyICFkZWZhdWx0O1xyXG4vLyAtLS0gR3JvdXAgb3ZlcmxheXMgKCBFQkcncyApIC0tLVxyXG4kZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXI6IChcclxuICAgIHNwZWNpYWwtb2ZmZXI6IDUsXHJcbiAgICBmZWF0dXJlZC1pdGVtOiA0LFxyXG4gICAgYmVzdC1zZWxsZXI6IDNcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFN0b2NrIE92ZXJsYXlzICggc2luZ2xlIHByb2R1Y3QgJiBzdG9ja2xpbmUgKSAtLS1cclxuJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXI6IChcclxuICAgIHNwZWNpYWwtb2ZmZXI6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBzcGVjaWFsLW9mZmVyKSxcclxuICAgIGZlYXR1cmVkLWl0ZW06IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBmZWF0dXJlZC1pdGVtKSxcclxuICAgIGJlc3Qtc2VsbGVyOiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgYmVzdC1zZWxsZXIpLFxyXG4gICAgcHJldmlvdXNseS1wdXJjaGFzZWQ6IDYsXHJcbiAgICBjb250cmFjdC1pdGVtOiA3XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLS1cclxuJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyxcclxuICAgIGhvdmVyOiAtLXdoaXRlLWNvbG91clxyXG4pICFkZWZhdWx0O1xyXG4kdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6IGhvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91ciksXHJcbiAgICBob3ZlcjogZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIENhdGVnb3J5IC0tLS0tLVxyXG4kY2F0ZWdvcnktZ3JvdXAtaG92ZXItc2NhbGU6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQcm9kdWN0IExpc3QgLS0tLS0tIFxyXG4vLyAtLS0gR2VuZXJhbCBMaXN0aW5nIFN0eWxlcyAtLS0gXHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC1zaXplOiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1saW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci11bmRlcmxpbmU6IHRydWUgIWRlZmF1bHQ7XHJcbiR2aWV3SWNvbkRpbWVudGlvbnM6IDE2cHggIWRlZmF1bHQ7XHJcbiRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zOiAxNnB4ICFkZWZhdWx0O1xyXG4vLyBTZWN0aW9uIGhlYWRpbmdzICggcmVjb21tZW5kZWQgcmVzdWx0cyAvIHByaW50ZXIgd2l6YXJkIClcclxuJHNlY3Rpb24taGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLXRleHQtYWxpZ246IG51bGwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWJvcmRlci1jb2xvdXI6ICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcblxyXG4vLyBSZWNvbW1lbmRlZCByZXN1bHRzLlxyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1tYXJnaW46IChcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLWl0ZW0tcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gSXRlbXMgZm91bmQuXHJcbiRzb3J0aW5nLWl0ZW1zLWZvdW5kLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMCAhZGVmYXVsdDtcclxuJHNvcnRpbmctaXRlbXMtZm91bmQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuXHJcbi8vIERvd25sb2FkIG9wdGlvbi5cclxuJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLWdhcDogMTBweCAhZGVmYXVsdDsgXHJcbiRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGg6ICgkY29tbW9uLXJ1bGUtd2VpZ2h0ICogMikgIWRlZmF1bHQ7XHJcblxyXG4vLyBTb3J0aW5nIG9wdGlvbnMgc2V0dGluZ3MuXHJcbi8vIENvbnRhaW5lciBzZXR0aW5ncy5cclxuJHNvcnRpbmctb3B0aW9ucy1jb250YWluZXItZ2FwOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIG1lZGl1bTogMTBweCAxNXB4IC8vIHJlZHVjaW5nIGZyb20gMTBweCAyMHB4IHRvIDEwcHggMTVweCB0byBhbGxvdyBmb3IgbW9yZSBzcGFjZSBmb3IgYSB2YXJpdHkgb2YgY29udHJvbHMuXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBPcHRpb25zIHNldHRpbmdzLlxyXG4kc29ydGluZy1vcHRpb25zLWljb24tY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMykgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDogMTNweCAhZGVmYXVsdDsgXHJcbiRwYWdpbmF0aW9uLWxhYmVsLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xyXG4kc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpLFxyXG4gICAgZGlzYWJsZWQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMClcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0td2hpdGUtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgZGlzYWJsZWQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcDogKFxyXG4gICAgc21hbGw6IDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDVweFxyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoOiAyMTVweCAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGU6IChcclxuICAgIGNvdW50OiAyLFxyXG4gICAgZmlsdGVyLXRvZ2dsZTogMSxcclxuICAgIGNhbGwtc2VhcmNoOiAzLFxyXG4gICAgc29ydC1ieTogNSxcclxuICAgIHZpZXc6IDYsXHJcbiAgICBwZXItcGFnZTogNCxcclxuICAgIHBhZ2luYXRpb246IDdcclxuKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wOiAoXHJcbiAgICBjb3VudDogMSxcclxuICAgIGZpbHRlci10b2dnbGU6IDIsXHJcbiAgICBjYWxsLXNlYXJjaDogMyxcclxuICAgIHNvcnQtYnk6IDQsXHJcbiAgICB2aWV3OiA1LFxyXG4gICAgcGVyLXBhZ2U6IDYsXHJcbiAgICBwYWdpbmF0aW9uOiA3XHJcbikgIWRlZmF1bHQ7XHJcbiRpdGVtcy1wZXItbGlzdC13aWR0aDogKFxyXG4gICAgc21hbGw6IDUwJSxcclxuICAgIGxhcmdlOiAxNyVcclxuKSAhZGVmYXVsdDtcclxuJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tOiAoXHJcbiAgICBsYXJnZTogMTAuMjZweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByb2R1Y3QgbGlzdCBzZXR0aW5ncyAtLS1cclxuJHByb2R1Y3QtbGlzdC1jb250ZW50LW1hcmdpbi1sZWZ0OiA1M3B4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LXNvcnQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIFByb2R1Y3QgbGlzdCBpdGVtIHNldHRpbmdzLlxyXG4kcHJvZHVjdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdzogdHJ1ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWltYWdlLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1jb2xvdXI6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1ob3Zlci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi13ZWlnaHQ6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZ2FwOiAxMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDIwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtcXVhbnRpdHktZGVza3RvcC1tYXgtd2lkdGg6IDM0MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1pbWFnZS13aWR0aDogJHRhYmxlLWltYWdlLXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWV2ZW4tYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXN0b2NrbGluZS1idXR0b24td2lkdGg6IDEzMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1sb2dnaW4tYnV0dG9uLXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1zdG9ja2xpbmUtYnV0dG9uLXdpZHRoICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtd2lkdGg6IChcclxuICAgIGxhcmdlOiAyMCVcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDExJVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXBhZGRpbmc6IChcclxuICAgIGxhcmdlOiAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcXVhbnRpdHktY29sLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMTUwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gUHJvZHVjdCBsaXN0IGl0ZW0gY29tcG9uZW50IG9yZGVyLlxyXG4kcHJvZHVjdC1saXN0LWltYWdlLW9yZGVyOiAxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWRlc2NyaXB0aW9uLW9yZGVyOiAyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWNvZGUtb3JkZXI6IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtcHJpY2Utb3JkZXI6IDMgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtcXVhbnRpdHktcHJpY2UtZmF2b3VyaXRlcy1vcmRlcjogNSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ub3QtbG9nZ2VkLWluLW9yZGVyOiA2ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByb2R1Y3QgTGlzdCBHcmlkIFNldHRpbmdzIC0tLS1cclxuJHByb2R1Y3QtbGlzdC1ncmlkLWNvbnRlbnQtcGFkZGluZzogMCAyMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtZGVzY3JpcHRpb24tY29sb3VyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtZGVzY3JpcHRpb24taG92ZXItY29sb3VyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGhvdmVyKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFByb2R1Y3QgbGlzdCBncmlkIGNvbXBvbmVudCBvcmRlci5cclxuJHByb2R1Y3QtbGlzdC1ncmlkLWFuY2hvci1ibG9jay1vcmRlcjogMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLXN0b2NrLWluZGljYXRvci1vcmRlcjogMyAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLXByaWNlcy1vcmRlcjogMiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWJ1dHRvbnMtb3JkZXI6IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1ub3QtbG9nZ2VkLWluLW9yZGVyOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtc3RvY2tsaW5lLWJ1dHRvbjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLWxhYmVsLXZhbHVlLWFsaWdtZW5lbnQ6IGlmKCRwcmljZS10ZXh0LWFsaWduID09IFwibGVmdFwiLCBhdXRvLCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIFRPRE86IEkga25vdyB0aGlzIGlzIG1lc3MgYW5kIGhhcyBnb25lIHRocm91Z2ggbWFueSByZWZhY3RvcnMuLi4uIFxyXG4vLyAtLS0gUHJvZHVjdCBMaXN0IExpc3QgU2V0dGluZ3MgLS0tLVxyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93OiAkYm94U2hhZG93MyAhZGVmYXVsdDtcclxuLy8gTG9naW4gLyBzdG9ja2xpbmUgYnV0dG9uIHdpZHRoLlxyXG4kbG9naW4tc3RvY2tsaW5lLXdpZHRoOiAyNSUgIWRlZmF1bHQ7XHJcbi8vIEZhdm91cml0ZXMgY29sdW1uIHdpZHRoICggRGVza3RvcCApXHJcbiRmYXZvdXJpdGVzLWNvbC1kZXNrdG9wLXdpZHRoOiAyNSUgIWRlZmF1bHQ7XHJcbi8vIHRhYmxlIGl0ZW0gY29udHJvbHMuXHJcbiR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGaWx0ZXJzIC8gU2VhcmNoIEF0dHJpYnV0ZXMgLS0tIFxyXG4vLyBHZW5lcmFsIHNldHRpbmdzIFxyXG4kZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjogJGhlYWRpbmctMS1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWRlc2t0b3AtY29udGFpbmVyLW1heC13aWR0aDogMjgwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWRlc2t0b3AtYXR0cmlidXRlLWxpc3Qtd2lkdGg6IDI0MHB4ICFkZWZhdWx0O1xyXG4vLyBGaWx0ZXJzIG1vYmlsZSB0b2dnbGUuXHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHVuLXN0dWNrOiAkY29sb3VyNC02LFxyXG4gICAgc3R1Y2s6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91cjogKFxyXG4gICAgdW4tc3R1Y2s6ICRjb2xvdXI0LFxyXG4gICAgc3R1Y2s6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gRmlsdGVycyBoZWFkZXIuXHJcbiRmaWx0ZXJzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaGVhZGluZy1mb250LXNpemU6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1oZWFkaW5nLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02ICFkZWZhdWx0O1xyXG4vLyBBcHBsaWVkIGF0dHJpYnV0ZShzKVxyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWljb24tY29sb3VyOiAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYWxsLWNvbG91cjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zaXplOiAoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUgKyAxKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuLy8gT3B0aW9uIGhlYWRpbmdcclxuJGZpbHRlcnMtb3B0aW9uLW1vYmlsZS1tYXJnaW46IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24tZGVza3RvcC1tYXJnaW46IDI1cHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRmaWx0ZXJzLWhlYWRpbmctY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXNpemU6JHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyBBdHRyaWJ1dGVzXHJcbiRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENvbG91ciBwcmV2aWV3XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy1oZWlnaHQ6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LXdpZHRoICFkZWZhdWx0O1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgIWRlZmF1bHQ7XHJcbi8vIFByaWNlIHNsaWRlclxyXG4kZmlsdGVycy1wcy1pbnB1dC13aWR0aDogNzBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcHMtaW5wdXQtaGVpZ2h0OiAzNXB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1wcy1pbnB1dC1ib3JkZXItY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4kZmlsdGVycy1wcy1hY3RpdmUtY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuLy8gU2hvdyBtb3JlIC8gbGVzcyBhdHRyaWJ1dGVzXHJcbiRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtaG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBQcm9kdWN0IC0tLS0tIFxyXG5cclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuLy8gTWFyZ2luIC8gUGFkZGluZyB0b3AgKyBib3R0b20uXHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTVweCAwLFxyXG4gICAgbGFyZ2U6IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEwcHggMTVweCxcclxuICAgIG1lZGl1bTogMTBweCAyNXB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMzBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kcHJvZHVjdC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggNXB4IDAsXHJcbiAgICBsYXJnZTogNDBweCAwIDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgSW1hZ2UgLS0tIFxyXG4kcHJvZHVjdC1pbWFnZS13aWR0aDogNTUwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDgpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBNYWluIGhlYWRpbmcgLS0tIFxyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZTogMjggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctbGluZS1oZWlnaHQ6IDM0cHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSkgIWRlZmF1bHQ7XHJcbi8vIENvZGUgKCBSZWZlcm5lY2UgJiBhbHQgcmVmZW5lbmNlIF9cclxuJHByb2R1Y3QtY29kZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1jb2RlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWNvZGUtdGV4dC10cmFuZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIG1lZGl1bTogMjBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IEVucXVpcnkgQnV5IEJ1dHRvbiAtLS1cclxuJHByb2R1Y3QtZW5xdWlyeS1idXktYnV0dG9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBtZWRpdW06IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJpY2UgLS0tIFxyXG4kcHJvZHVjdC1wcmljZS1jb2x1bW4td2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGU6ICRwcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWluZGl2aWR1YWwtcHJpY2UtZm9udC1zaXplOiAyOCAhZGVmYXVsdDtcclxuLy8gLS0tIEFkZGl0aW9uYWwgaW1hZ2VzIC0tLVxyXG4kcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy13aWR0aDogMzc1cHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWFjdGl2ZS1vcGFjaXR5OiAwLjYgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXI6IChcclxuICAgIGRlZmF1bHQ6IDFweCBzb2xpZCAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6IDFweCBzb2xpZCAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogMXB4IHNvbGlkICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlLWNsaWNrOiAxcHggc29saWQgcmdiYSgkY29sb3VyNiwgMC41KVxyXG4pICFkZWZhdWx0O1xyXG4vLyBHcmlkXHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIG1lZGl1bTogMTBweCxcclxuICAgIGxhcmdlOiA1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENhc2UgcHJpY2VcclxuJHByb2R1Y3QtY2FzZS1wcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTGlnaHRib3ggLS0tLS1cclxuJGxpZ2h0Ym94LXRyaWdnZXItcGFkZGluZzogKFxyXG4gICAgZGVmYXVsdDogMnB4IDhweCxcclxuICAgIG1hZ25pZmljYXRpb24taG92ZXI6IDJweCA0cHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIxLCAwLjg1KSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC10cmlnZ2VyLWljb24tc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDIwcHggMCxcclxuICAgIHhsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtc2xpZGUtZGltZW50aW9uczogKFxyXG4gICAgc21hbGw6IDEwMCxcclxuICAgIG1lZGl1bTogODAsXHJcbiAgICBsYXJnZTogODVcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXNsaWRlLWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgLy8gc2V0dGluZyB0byAwIG90aGVyIGltYWdlIHdvdWxkIHNjYWxlIG91dHNpZGUgb2YgdGhlIGNvbnRhaW5lciBwdXNoaW5nIHRoZSBwYWdlciBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydC5cclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMjVweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA0MHB4LFxyXG4gICAgbGFyZ2U6IDcwcHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDE2cHgsXHJcbiAgICBsYXJnZTogMjZweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgkY29sb3VyMy0yLCAwLjMpICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtaXRlbS1jb3VudC1mb250LXNpemU6IChcclxuICAgIHNtYWxsOiAxNixcclxuICAgIG1lZGl1bTogMjBcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWl0ZW0tY291bnQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1kaW1lbnRpb25zOiAzMHB4ICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWdlciAtLS1cclxuJGxpZ2h0Ym94LXBhZ2VyLWhlaWdodDogKFxyXG4gICAgc21hbGw6IGF1dG8sXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aDogKFxyXG4gICAgbWVkaXVtOiAxMDBweCxcclxuICAgIGxhcmdlOiAxNzBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByb2R1Y3QgRW5xdWlyeSBEZXRhaWxzIC0tLVxyXG4vLyBMYWJlbCB2YWx1ZSBwYWlyXHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1hbGlnbi1pdGVtczogYmFzZWxpbmUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXA6IChcclxuICAgIHNtYWxsOiA1cHgsXHJcbiAgICBtZWRpdW06IDVweCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtY29sb3VyOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtY29sb3VyICFkZWZhdWx0O1xyXG5cclxuLy8gTXVsdGkgbGluZSBjb250YWluZXJcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbWFyZ2luOiAwIDAgMTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWNvbG91cjogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtbm90ZXMtbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4vLyBMYWJlbCArIHZhbHVlIHBhaXJcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZTogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBQcmljaW5nLlxyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXA6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogMTBweCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDIyMHB4LFxyXG4gICAgbWVkaXVtOiAxOTBweCxcclxuICAgIGxhcmdlOiAxOTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxZnIsXHJcbiAgICBtZWRpdW06IDUwJSxcclxuICAgIGxhcmdlOiA0MCVcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuLy8gSGF6YXJkIFN0YXRlbWVudC5cclxuJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGFhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuLy8gU2hhcmVcclxuJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC13ZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC1zaXplOiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBPcHRpb25hbCBleHRyYXNcclxuJHByb2R1Y3QtZW5xdWlyeS1vcHRpb25hbC1leHRyYXMtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJldmlvdXNseSBwdXJjaGFzZWQgLS0tIFxyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTVweCxcclxuICAgIG1lZGl1bTogMCAwIDM1cHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDE1cHggMCxcclxuICAgIG1lZGl1bTogMTVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDVweCAxMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogMTBweCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOSk7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1pdGVtLXNwYWNpbmc6IDQwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemU6IChcclxuICAgIHNtYWxsOiAxNixcclxuICAgIG1lZGl1bTogMTRcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbGFiZWwtZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZm9udC1zaXplOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemUpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC12aWV3LW9yZGVyLWJ1dHRvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBPdmVybGF5IE1vZHVsZSAtLS0gXHJcbi8vIC0tLSBRdWFudGl0eSBQcmljZSBCcmVhayAtLS0gXHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoOiA0MjBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctc2F2ZS1hbW91bnQtY29sb3VyOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1ib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNC00ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstc2F2aW5nLWNvbC1mb250LXdlaWdodDogJHNhdmluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtbWFyZ2luOiAxNXB4IDAgMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtcGFkZGluZzogMCA1cHggMTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1zdXBwcmVzcy1oZWFkZXItZ2FwOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBHcm91cGVkIG1vZHVsZXMgLS0tXHJcbiRwcm9kdWN0LWdyb3VwZWQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWdyb3VwZWQtc2Vjb25kLWl0ZW0tYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzLTE7IFxyXG4vLyAtLS0gUHJvZHVjdCBOb3Rlc1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1zaXplOiAxOCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWxpbmUtaGVpZ2h0OiAyNXB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtaGVpZ2h0OiAxNHZoICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tIFNwZWNpZmljYXRpb24gLS0tIFxyXG4kc3BlY2lmaWNhdGlvbi1mb250LXNpemU6ICRwcm9kdWN0LW5vdGVzLXNpemUgIWRlZmF1bHQ7XHJcbiRzcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHNwZWNpZmljYXRpb24tbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kc3BlY2lmaWNhdGlvbi1jb2xvdXI6ICRwcm9kdWN0LW5vdGVzLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIEFsdGVybmF0aXZlIE9wdGlvbnMgLS0tIFxyXG4kcHJvZHVjdC1hbHQtb3B0aW9ucy1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyAtLS0gVGFiYmVkIFNwZWNpZmljYXRpb24gLS0tIFxyXG4kcHJvZHVjdC10YWJzLXRpdGxlLWRlc2t0b3Atd2lkdGg6IGZpdC1jb250ZW50ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC10YWJzLXRpdGxlLXBhZGRpbmc6IDE4cHggODBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtdGFicy10aXRsZS10ZXh0LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXRhYi1zcGVjaWZpY2lhdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFN0b2NrbGluZSAtLS1cclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWxhYmVsLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNDAlLFxyXG4gICAgbGFyZ2U6IDI3JVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLW9wdGlvbi1jb2xvdXI6IChcclxuICAgIHVuYXZhaWxhYmxlOiAkY29sb3VyMy03XHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICB1bmF2YWlsYWJsZTogJGNvbG91cjMtNVxyXG4pICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1tYXgtd2lkdGg6IDUyMHB4ICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1nYXA6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdG9ja2xpbmUtbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1sYWJlbC1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFJhdGluZyAtLS0tLSBcclxuJHJhdGluZy1pY29uLWNvbG91cjogKFxyXG4gICAgaW5hY3RpdmU6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA4KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4kcmF0aW5nLXN1bW1hcnktZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQmFza2V0IC0tLS0tIFxyXG4vLyAtLS0gQmFza2V0IFRhYmxlIC0tLSBcclxuJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA6IDEwcHggMCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcmVtb3ZlLWJ1dHRvbi1pY29uLXNpemU6ICgkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplIC8gNCkgIWRlZmF1bHQ7IFxyXG4vLyAtLS0gQmFza2V0IENvbnRyb2xzIC0tLVxyXG4kYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBSZW1vdmUgQWxsIEJ1dHRvblxyXG4kYmFza2V0LXJtLWFsbC1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcm0tYWxsLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXJlbW92ZS1hbGwtZm9udC1zaXplOiAxMiAhZGVmYXVsdDtcclxuJGJhc2tldC1ybS1hbGwtYnV0dG9uLWljb246IHRydWUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcm0tYWxsLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1ybS1hbGwtY29sb3VyLCBob3ZlcilcclxuKSAhZGVmYXVsdDtcclxuLy8gVXBkYXRlIGJhc2tldCBidXR0b24uXHJcbiRiYXNrZXQtdXBkYXRlLWljb246IHRydWUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1wYWRkaW5nOiAxMHB4IDMwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsIFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LCBcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0yXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1mb250LXNpemU6IDEyICFkZWZhdWx0O1xyXG4kYmFza2V0LXVwZGF0ZS1pY29uLXNpemU6ICgkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplIC8gNCkgIWRlZmF1bHQ7IFxyXG4kYmFza2V0LXVwZGF0ZS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtMiBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEJhc2tldCBEZWxpdmVyeSAtLS0gXHJcbiRiYXNrZXQtZGVsaXZlcnktcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogNDVweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAzMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAzNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlbGl2ZXJ5LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0gQmFza2V0IFN1bW1hcnkgLS0tIFxyXG4kYmFza2V0LXN1bW1hcnktd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDMxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktdG90YWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXRvdGFsLXRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXBhZGRpbmc6IDQwcHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1iYWNrZ3JvdW5kLWNvbG91cjogLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZGV0YWlscy1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tbGFiZWwtZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS12YWx1ZS1mb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1oaWdobGlnaHRlZC1pdGVtLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvci1jb2xvdXI6ICRoZWFkaW5nLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtY29udGFpbmVyLW1hcmdpbjogMzBweCAwIDI1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFydC1pbnB1dC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtaGVpZ2h0OiAzNXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaW5wdXQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtYXBwbHktYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsIC8vIFJlcGxhY2luZyB3aXRoIHNvbGlkIGNvbG91ci5cclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LXJlbW92ZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1jYWxsb3V0OiAoXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91ci12YWxpZDogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIGNvbG91ci12YWxpZDogJGNvbG91cjEsXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91ci1pbnZhbGlkOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgY29sb3VyLWludmFsaWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1mb250LXNpemU6IDEyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gVG90YWwgKCBzdGlja3kgbW9iaWxlIClcclxuJGJhc2tldC10b3RhbC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtNyAhZGVmYXVsdDtcclxuJGJhc2tldC10b3RhbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXRvdGFsLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdG90YWwtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLS0gQ2hlY2tvdXQgQnV0dG9ucyAtLS0gXHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1wYWRkaW5nOiAxMnB4IDVweCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBhZ2UtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1wYWRkaW5nOiAxMnB4IDVweCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXBheXBhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICNmZmM0MzksXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDaGVja291dCBSZXR1cm5pbmcgQ3VzdG9tZXIgLS0tXHJcbiRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGFkanVzdC1odWUoc2F0dXJhdGUobGlnaHRlbigkY29sb3VyNC01LCAxMyUpLCAyMCUpLCAtOCUpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIENvbnRpbnVlIHNob3BwaW5nXHJcbiRiYXNrZXQtY29udGludWUtc2hvcHBpbmctYnV0dG9uLXBhZGRpbmc6IDE1cHggMzVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFBheW1lbnQgbWV0aG9kcyAtLS0tLSBcclxuLy8gUGF5bWVudCBtZXRob2Qgc2VsZWN0b3JcclxuJHBheW1lbnQtY29udGFpbmVyLW1heC13aWR0aDogNTAwcHggIWRlZmF1bHQ7XHJcbi8vIFRoaXMgaGFzIGJlZW4gd29ya2VkIG91dCB0aGUgc3lzdGVtIGluIGZhdm91ciBvZiB1c2luZyB0aGUgU0NBIGNoYWxsZW5nZSBkaW1lbnNpb25zIGluc3RlYWQuXHJcbi8vICRwYXltZW50LWNvbnRhaW5lci13aWR0aDogKFxyXG4vLyAgICAgc21hbGw6IDEwMCUsXHJcbi8vICAgICBsYXJnZTogY2FsYygje2xhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCl9ICsgI3skY2hlY2tib3gtZGltZW50aW9uc30pXHJcbi8vICkgIWRlZmF1bHQ7XHJcbiRwYXltZW50LWNvbnRhaW5lci1ib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0OiAoXHJcbiAgICBkZWZhdWx0OiA1MDBweCxcclxuICAgIG9wYXlvOiAyN3JlbSAvLyBTd2l0Y2hpbmcgdGhlIHJlbSBhcyBzb21lIHVzZXJzIHdpbGwgdXNlIGV4dHJlbWUgZm9udCBzY2FsaW5nIHNvIHRoZSBoZWlnaHQgd2lsbCBuZWVkIHRvIHNjYWxlIHdpdGggZm9udC1zY2FsaW5nLlxyXG4pICFkZWZhdWx0O1xyXG4kcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQWNjb3VudCBHZW5lcmFsLlxyXG4vLyBTb3J0aW5nLlxyXG4kYWNjb3VudC1zb3J0aW5nLW1hcmdpbjogMCAwIDEwcHggIWRlZmF1bHQ7XHJcbi8vIFBhc3N3b3JkIHJlc2V0IG5ldyBsaW5rLlxyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXNpemU6IDIyICFkZWZhdWx0O1xyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctbWFyZ2luOiAwIDAgMzBweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIExvb2t1cHMgLS0tLS1cclxuLy8gLS0tIFBvc3Rjb2RlIGxvb2t1cCB2MSAoIFNpbmdsZSBGaWVsZCApIC0tLVxyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1wYWRkaW5nOiAxMnB4IDEzcHggIWRlZmF1bHQ7XHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kcGNvZGUtbG9va3VwLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRsb29rdXBzLXJlc3VsdHMtaGlnaGxpZ2h0ZWQtdGV4dC1lbmFibGVkOiB0cnVlICFkZWZhdWx0O1xyXG4vLyAtLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLVxyXG4kbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIG1lZGl1bTogNTBweCA4JSxcclxuICAgIGxhcmdlOiA1MHB4IDExMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcDogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpLFxyXG4gICAgbWVkaXVtOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTJcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEludGVyYWN0aXZlIE1hcCAoIFN0b2NraXN0ICkgLS0tLS1cclxuJGludGVyYWN0aXZlLW1hcC1maWx0ZXItaWNvbi1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbi8vIGxvY2F0aW9uIGJ1dHRvbiBwcmltYXJpbHkgdXNlZCBmb3IgdGhlIGdlb2xvY2F0aW9uIGxvb2t1cC5cclxuJGxvY2F0aW9uLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxvY2F0aW9uKSxcclxuICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgbWFyZ2luOiAwIDAgMCA0MHB4LFxyXG4gIGNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGludGVyYWN0aXZlLW1hcC1maWx0ZXItaWNvbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkbG9jYXRpb24tYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRsb2NhdGlvbi1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbiAgKSxcclxuICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgc2l6ZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gU2l0ZSBNYXAgLS0tLS1cclxuJHNpdGUtbWFwLXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLW1hcC1wYXJlbnQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHNpdGUtbWFwLXJ1bGUtcGFyZW50LXNlcGVyYXRvcjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tLS0gU2l0ZSBMaXN0IC0tLS0tLVxyXG4kc2l0ZS1saXN0LWl0ZW0tcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy01LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLW1hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtbG9nby1tYXJnaW46IChcclxuICAgIHNtYWxsOiAkc2l0ZS1saXN0LWxvZ28tbWFyZ2luLFxyXG4gICAgbGFyZ2U6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLXBhZGRpbmc6IDMwcHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtbG9nby1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJHNpdGUtbGlzdC1sb2dvLXBhZGRpbmcsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1ib3JkZXI6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMTEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1pdGVtLWhlYWRlci1zZXBlcmF0b3ItcnVsZS1tYXJnaW46IDEwcHggMCAxNXB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyBUaGlzIGlzIGZvciBjYXJkIHZpZXcgYW5kIHRhYmxlIGluIG1vYmlsZSAoIGkuZSBub3QgZGVza3RvcCB0YWJsZSApLlxyXG4kc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTcgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtZW52aXJvbm1lbnQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRpbWUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdpZHRoOiA0MCUgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi10aW1lLW1hcmdpbi1sZWZ0OiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDMwcHggMCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b25zLXBhZGRpbmc6IDEwcHggMTVweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b25zLWZvbnQtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtYnV0dG9ucy1nYXA6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1idXR0b25zLWdhcDogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9ucy1nYXApLFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQXhpcyBTZWN0aW9ucyAtLS0tLVxyXG4kYXhpcy1zZWN0aW9ucy1oZWFkZXItZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kYXhpcy1zZWN0aW9ucy1oZWFkZXItc3RhdHVzLWljb24tc2l6ZTogMThweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBZb3VyIEFjY291bnQgLS0tLS0gXHJcbiRhY2NvdW50LXBhZ2VzLWl0ZW0tZ3JpZC1tYXJnaW46IDA7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXdoaXRlLWNvbG91ciksXHJcbiAgICBob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0td2hpdGUtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZWRvbmUgYXMgdGhpcyBpcyBubyBsb25nZXIgYWNjb3VudCBzcGVjaWZpYyBmdW5jdGlvbmFsaXR5LlxyXG4kYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTUsXHJcbiAgICBkZWZhdWx0LWFsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBob3Zlci1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0xLFxyXG4gICAgYWN0aXZlLWFsdDogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4kc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMy02LFxyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cilcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjFcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpXHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSksXHJcbiAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSlcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICAgICAgZGlzYWJsZWQ6ICRjb2xvdXIzXHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyNlxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFJlcGxhY2VtZW50IGZvciB0aGUgYWJvdmUsIG1hbmFnZSBjYWxscyBzdGlja3kgYnV0dG9ucyB3aWxsIG5lZWQgdG8gcmV3b3JrIHRvIHJlbW92ZSBkZXBlbmRhbmN5IG9uICRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLlxyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1wYWRkaW5nOiAwIDAgMjBweCAhZGVmYXVsdDsgXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1hbmNob3ItcGFkZGluZzogMzVweCAyMHB4IDMwcHggIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1mb250LXdlaWdodDogKFxyXG4gICAgYWNjb3VudC1wYWdlOiA3MDAsXHJcbiAgICBhY2NvdW50LW1lbnU6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgZGVmYXVsdC1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXItYWx0OiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtMyxcclxuICAgIGFjdGl2ZS1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFJlcGxhY2VtZW50IGZvciB0aGUgYWJvdmUsIG1hbmFnZSBjYWxscyBzdGlja3kgYnV0dG9ucyB3aWxsIG5lZWQgdG8gcmV3b3JrIHRvIHJlbW92ZSBkZXBlbmRhbmN5IG9uICRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIuXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgZGVmYXVsdC1hbHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgaG92ZXItYWx0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyLWFsdCksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGFjdGl2ZS1hbHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlLWFsdCksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gUmVwbGFjZW1lbnQgZm9yIHRoZSBhYm92ZSwgbWFuYWdlIGNhbGxzIHN0aWNreSBidXR0b25zIHdpbGwgbmVlZCB0byByZXdvcmsgdG8gcmVtb3ZlIGRlcGVuZGFuY3kgb24gJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgaG92ZXI6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbi8vIElmIHRoZSBwcmltYXJ5IGNvbG91ciBkb2VzIG5vdCBjb250cmFzdCBhZ2FpbnN0IHRoZSB0ZXh0IHNldCB0aGlzIHRvIHRydWUuXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLXVzZS1zZWNvbmRhcnktY29sb3VyOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBUT0RPOiBvbmNlIHRoZSBvbGQgYWNjb3VudCBncmlkIGhhcyBiZWVuIHJlcGxhY2Ugd2l0aCB0aGUgbmV3IHNlY29uZCB0aGlzIGNhbiBkby5cclxuJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZTogKFxyXG4gICAgY2hhbmdlLWRldGFpbHM6IDQ1cHgsXHJcbiAgICBjaGFuZ2UtcGFzc3dvcmQ6IDEzcHgsXHJcbiAgICBjb250cmFjdC1pdGVtczogNjVweCxcclxuICAgIGZhdm91cml0ZXM6IDQ1cHgsXHJcbiAgICB2aWV3LW9yZGVyczogNTVweCxcclxuICAgIHJlY2VudGx5LXB1cmNoYXNlZDogNjVweCxcclxuICAgIG1hbmFnZS1jYXJkczogMzVweCxcclxuICAgIHN0YXRlbWVudDogNDVweCxcclxuICAgIG1hbmFnZS11c2VyczogNTVweCxcclxuICAgIGJyYW5jaC1zd2l0Y2hlcjogNjBweCxcclxuICAgIGNvbnRhY3QtcHJlZmVyZW5jZXM6IDYwcHgsXHJcbiAgICBoaXN0b3JpY2FsLXRyYW5zYWN0aW9uczogNjBweCxcclxuICAgIHVwbG9hZC1iYXNrZXQ6IDQ1cHgsXHJcbiAgICB1cGxvYWQtb3JkZXI6IDQ1cHgsXHJcbiAgICBsb2dvdXQ6IDQ1cHgsXHJcbiAgICBtYW5hZ2UtY2FsbHM6IDQ1cHgsXHJcbiAgICBzZXJ2aWNlLWNvbnRyYWN0czogNDVweCxcclxuICAgIGN1c3RvbWVyLWFzc2V0czogNDVweCxcclxuICAgIHBheW1lbnQtcmVxdWVzdHM6IDQ1cHgsXHJcbiAgICBkb3dubG9hZC1wcmljZS1saXN0czogNDVweCxcclxuICAgIHNpdGUtbGlzdDogNDVweCxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZDogNDVweCxcclxuICAgIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZTogNDVweCxcclxuICAgIGRlZmF1bHQtaWNvbjogNDVweCxcclxuICAgIG9ubGluZS1kb2N1bWVudGF0aW9uOiA0NXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemU6IChcclxuICAgIGRlZmF1bHQ6IDMwcHgsXHJcbiAgICBjaGFuZ2UtcGFzc3dvcmQ6IDhweCxcclxuICAgIGNoYW5nZS1kZXRhaWxzOiAyNXB4LFxyXG4gICAgbWFuYWdlLWNhcmRzOiAyM3B4LFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOiAyNXB4LFxyXG4gICAgbG9nb3V0OiAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tIFZpZXcgT3JkZXIgLS0tXHJcbiRwcmljZS1kcm9wLWZvbnQtc2l6ZTogMTEgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRwcmljZS1kcm9wLWFycm93LWNvbG91cjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTVweCAyMHB4LFxyXG4gICAgbGFyZ2U6IDMwcHggNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC1zaXplOiAyMiAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxNzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNYW5hZ2UgQ2FsbHMgLS0tIFxyXG4kY2FsbC1lbnF1aXJ5LWljb24tc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1pY29uLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6ICR2aWV3LW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtc2l6ZTogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjYWxsLWVucXVpcnktY29udGVudC1sYWJlbC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRtYW5hZ2UtY2FsbHMtdGFibGUtaGVhZGluZy1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuLy8gUmF0aW5nLlxyXG4kY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU6IDIyLjVweCAhZGVmYXVsdDtcclxuLy8gLS0tIE1hbmFnZSBVc2VycyAtLS1cclxuJHVzZXJzLWZvdW5kLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiR1c2Vycy1mb3VuZC1jb3VudC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyBUYWJsZS5cclxuJHVzZXJzLXRib2R5LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiR1c2Vycy10Ym9keS1jb250YWN0LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy10Ym9keS1jb250YWN0LWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuLy8gUmVtb3ZlIHVzZXIgYnV0dG9uICggbGlzdCApXHJcbiRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9uczogMjBweCAhZGVmYXVsdDsgXHJcbiRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBWaWV3IC8gRWRpdCB1c2VyXHJcbiR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbi1pY29uLXNpemU6ICgkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAtIDIpICFkZWZhdWx0O1xyXG4kdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b246IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMTE1MHB4LFxyXG4gICAgaGVpZ2h0OiA3MzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1wYWRkaW5nOiAyNXB4IDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItaGVhZGluZy1mb250LXNpemU6IDI1ICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtc2l6ZTogMjIgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLXRhYmxlLWJyYW5jaC1jb2wtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuXHJcbi8vIHZpZXcgLyBlZGl0IHVzZXJcclxuJHVzZXJzLXBvcHVwLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxMTUwcHgsXHJcbiAgICBoZWlnaHQ6IDczMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1zZWFyY2gtbWF4LXdpZHRoOiA2MjBweCAhZGVmYXVsdDtcclxuJHVzZXJzLXNlYXJjaC1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQnJhbmNoIHNlbGVjdG9yIC0tLS0tIFxyXG4kYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcclxuJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRicmFuY2gtc2VsZWN0b3ItbGFiZWwtY29sb3VyOiAkdmlldy1vcmRlci1kZXRhaWxzLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tLS0gTWFuYWdlIFBheW1lbnQgQ2FyZHMgLS0tLS0gXHJcbiRjYXJkcy1jYXJkLXR5cGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0xXHJcbikgIWRlZmF1bHQ7XHJcbiRjYXJkcy1yZW1vdmUtY2FyZC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0zLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBQYXltZW50IEZyYW1lLlxyXG4kcGF5bWVudC1mcmFtZS1wb3B1cC1tYXgtd2lkdGg6IDExNTBweCAhZGVmYXVsdDtcclxuJHBheW1lbnQtZnJhbWUtbWF4LXdpZHRoOiA2MzBweCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gU3RhdGVtZW50IC0tLS0tIFxyXG4kc3RhdGVtZW50LWJhbGFuY2UtZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgKyAzKSAhZGVmYXVsdDtcclxuJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRzdGF0ZW1lbnQtYmFsYW5jZS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBUb2tlbnMgLS0tLS0gXHJcbiR0b2tlbnMtdGFibGUtcGFkZGluZzogMjAwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFBhZ2Ugc2VjdGlvbiBjb2xvdXJzIC0tLS0tXHJcbiRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQYWdlIGJhY2tncm91bmQgY29sb3VycyAtLS0tLSBcclxuJHBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzOiAoKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUGFnZSBiYWNrZ3JvdW5kIGltYWdlcyAtLS0tLVxyXG4kcGFnZS1iYWNrZ3JvdW5kLWltYWdlczogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLS0tIEZvb3RlciAtLS0tLSBcclxuLy8gSWYgdXNpbmcgRm9vdGVyIGxheW91dCAyIHRoZW4geW91IGNhbiB1c2UgdGhpcyB0byBxdWlja2x5IGNlbnRlcmFsaXNlLlxyXG4kZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2U6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLXRvcDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLWhlaWdodDogMTBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWltYWdlOiBcIi9jb250ZW50L2ltYWdlcy9mb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtaW1hZ2UucG5nXCIgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZTogNHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIEZvb3RlciBncmlkICggY29udGVudCBjb250YWluZXIgKVxyXG4kZm9vdGVyLWdyaWQtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XHJcbiRmb290ZXItZ3JpZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC10b3A6IHRydWUgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC11cmw6IChcclxuICAgIHNtYWxsOiAnaHR0cHM6Ly9waWNzdW0ucGhvdG9zL2lkLzEzLzMyMC81MDAnLFxyXG4gICAgbGFyZ2U6ICdodHRwczovL3BpY3N1bS5waG90b3MvaWQvMTMvMTMwMC8zMDAnXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiA1MDBweCxcclxuICAgIGxhcmdlOiAzMDBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhY2tncm91bmQtbWFyZ2luLXRvcDogMjVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1hcmdpbi10b3A6IDUwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDIwcHggMTBweCxcclxuICAgIG1lZGl1bTogNzBweCAxMHB4IDIwcHgsXHJcbiAgICBsYXJnZTogNzBweCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNTAlXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFR5cGljYWxseSB0aGlzIGdlbmVyYWxseSBkb2Vzbid0IG5lZWQgdG8gYmUgc2V0IGR1ZSB0byBhbGxvd2luZyB0aGUgY29udGVudCBkZWZpbmUgdGhlIHdpZHRoLlxyXG4kZm9vdGVyLXByb21vdGlvbnMtd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyOiAoXHJcbiAgICBtYWlsaW5nLWxpc3Q6IDEsXHJcbiAgICBzb2NpYWwtaWNvbnM6IDIsXHJcbiAgICB0ZXh0ZGI6IDNcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXM6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IGlmKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSwgY2VudGVyLCBudWxsKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gQmFjayB0byBUb3AgLS0tXHJcbiRiYWNrLXRvLXRvcC1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAxN3B4LFxyXG4gICAgbGFyZ2U6IDIycHhcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJ1dHRvbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDUwcHgsXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDUwcHgsXHJcbiAgICBsYXJnZTogNjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJhY2stdG8tdG9wLXBvc2l0aW9uLXJpZ2h0OiB0cnVlICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1ib3JkZXItcmFkaXVzOiAxMHB4ICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRiYWNrLXRvLXRvcC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFjay10by10b3AtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLSBMaXN0IC0tLSBcclxuJGZvb3Rlci1saXN0LWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW5hdmlnaWF0aW9uLWp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuLy8gUmV2ZXJzZSBmb290ZXIgbGlzdCAmIHNvY2lhbHMgZWxlbWVudHMgb3JkZXIuXHJcbiRmb290ZXItbGlzdC1vcmRlcjogMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24tYXJlYS1vcmRlcjogMiAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1saXN0LXJldmVyc2Utb3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtanVzdGlmeS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LW1hcmdpbi10b3A6IDM1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1pdGVtLXdpZHRoOiAyMzBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMTAuNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMXB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmctYm90dG9tOiAyMXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXNlcGVyYXRvci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1zZXBlcmF0b3ItY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLW1vYmlsZS1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyMy0yICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1ob3Zlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1ob3Zlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1saW5lLWhlaWdodDogJGZvb3Rlci1wYXJlbnQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRzdXBwcmVzcy1mb290ZXItbWVudS1pdGVtLXNlcGVyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xyXG4vLyBNYWluIG1lbnUgKCB0aGlzIGlzIGEgbmV3IGNvbmNlcHQgc28gbm90IGFsbCBjb25maWcgb3B0aW9ucyB3aWxsIGJlIGhlcmUgKVxyXG4kZm9vdGVyLW1haW4tbWVudS1mbGV4LWdyb3c6IDEgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbi1tZW51LWRlc2t0b3AtbWF4LXdpZHRoOiA1MCUgIWRlZmF1bHQ7XHJcbi8vIEFsdCBtZW51XHJcbiRmb290ZXItYWx0LW1lbnUtbGlzdC1pdGVtLXdpZHRoOiBhdXRvICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWFuY2hvci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtbGlzdC1pdGVtLXNlcGVyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtZmlyc3QtY2hpbGQtc3VwcHJlc3MtcGFkZGluZzogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWZvbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIFByb21vdGlvbiBIZWFkaW5nIC0tLSBcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIExvZ28gLS0tIFxyXG4kZm9vdGVyLWxvZ28td2lkdGg6IChcclxuICAgIHNtYWxsOiA1MCUsXHJcbiAgICBtZWRpdW06IDQwJSxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbG9nby1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1sb2dvLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgQ29udGFjdCBEZXRhaWxzIC0tLVxyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbixcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbWFwLWdldCgkZm9vdGVyLXBhcmVudC1wYWRkaW5nLCBzbWFsbCksXHJcbiAgICBsYXJnZTogbWFwLWdldCgkZm9vdGVyLXBhcmVudC1wYWRkaW5nLCBsYXJnZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1jb250YWluZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciByZXZlYWwgYnV0dG9uIC0tLSBcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLXBhZGRpbmc6IDE1cHggMzBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtNVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNYWlsaW5nIGxpc3QgLS0tIFxyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXBhZGRpbmc6IDEwcHggMTVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDsgXHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IGZpdC1jb250ZW50XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWljb24tY29uZmlnOiAoXHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtYWlsKSxcclxuICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgIGNvbG91cjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1jb2xvdXIsXHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgICBzaXplOiAxNnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXRleHQtZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCAwIDU1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyBTZXQgdG8gbnVsbCB0byBmb2xsb3cgZGVmYXVsdCBleHByZXNzIHN0eWxpbmcuXHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtcGFkZGluZzogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91ci1pbmNsdWRlLWJ1dHRvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXItaW5jbHVkZS1idXR0b246IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIENNUyBjb250ZW50IGNvbnRhaW5lciAtLS0gXHJcbi8vIFRoaXMgY29tcG9uZW50IGlzIGZhaXJseSBmcmVlIGZvcm0gYXMgaXQgY2FuIGNoYW5nZSBxdWl0ZSByYWRpY2FsbHkgb24gYSBzaXRlIGJ5IHNpdGUgYmFzaXMuXHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tbWF4LXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sXHJcbiAgICBsYXJnZTogcm93XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFN0eWxlIHRoZSBoMidzIGxpa2UgdGhlIGxpc3QgcGFyZW50LlxyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLW1hcmdpbjogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtY29sb3VyOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItY29sb3VyICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtc2l6ZTogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtbWFyZ2luOiAwIDAgMTVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIFNlcGVyYXRvcnMgLS0tIFxyXG4kZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdDogKFxyXG4gICAgd2lkdGg6IDEwMCUsXHJcbiAgICBoZWlnaHQ6IDJweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyOiByZ2JhKCRjb2xvdXIxLCAwLjMpICFkZWZhdWx0O1xyXG4vLyBDb250ZW50XHJcbiRmb290ZXItY29udGVudC1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbiwgXHJcbiAgICBsYXJnZTogcm93XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEp1c3RpZnkgb25seSBmb3IgZGVza3RvcCBhcyBpdCBkb2VzbnQgbWFrZSBzZW5zZSBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3A6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIHdpZHRoKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWVudS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgQ01TIC0tLSBcclxuJGZvb3Rlci1jbXMtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTVcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemU7XHJcbi8vIC0tLSBDb3B5cmlnaHQgLS0tXHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byAwLFxyXG4gICAgbGFyZ2U6IDM1cHggYXV0byAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3Itd2lkdGg6IG1hcC1nZXQoJGZvb3Rlci1zZXBlcmF0ZS1kaW1lbnRpb25zLWRlZmF1bHQsIHdpZHRoKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLWhlaWdodDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLW1hcmdpbjogMTVweCAwIDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1wYWRkaW5nOiAzNXB4IDAgMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemU6IDEzICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduOiAoXHJcbiAgICBzbWFsbDogY2VudGVyLFxyXG4gICAgbGFyZ2U6IGNlbnRlclxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXNpemU6ICRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LW1pbmlmaWVkLWxheW91dC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgYmFubmVyIHNlcmllcyAtLS0gXHJcbi8vIFRPRE86IENBTiBHTyBBRlRFUiBGT09URVIgMi4wIExJVkVcclxuJGZvb3Rlci1iYW5uZXItaW1hZ2Utd2lkdGg6IDYwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwIGF1dG8gMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLXBheW1lbnQtbWV0aG9kcy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAyMHB4IDAgMjVweCxcclxuICAgIGxhcmdlOiA2MHB4IDAgMjVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyLXdpZHRoOiAxcHggMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWdhcDogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogIDAgMjQuNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1tYXJnaW46IChcclxuICAgIHNtYWxsOiBpZigkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UsIGF1dG8sIDApLFxyXG4gICAgbGFyZ2U6IGF1dG9cclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiB0aGlzIHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBzcGFjaW5nLXZhbHVlcy5cclxuJGZvb3Rlci1iYW5uZXItaW1hZ2UtbWFyZ2luOiAoXHJcbiAgICB0b3A6IDYwcHgsIFxyXG4gICAgcmlnaHQ6IDIwcHgsIFxyXG4gICAgYm90dG9tOiAyNXB4LCBcclxuICAgIGxlZnQ6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ0FOIEdPIEFGVEVSIEZPT1RFUiAyLjAgTElWRVxyXG4kZm9vdGVyLWJhbm5lci1ncmF5c2NhbGU6IGZhbHNlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lci1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gU29jaWFsIE1lZGlhIEljb25zIE1vZHVsZSAtLS0tLVxyXG4vLyAtLS0gU29jaWFsIGljb25zIGNvbW1vbiAtLS0gXHJcbiRzb2NpYWwtaWNvbnMtZGltZW50aW9uczogMzVweCAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMiAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtc2l6ZTogMThweCAhZGVmYXVsdDtcclxuLy8gVGhlcmUgYXJlIHR3byBjb2xvdXIgbW9kZXM6XHJcbi8vIHNpdGUtc3BlY2lmaWM6IG1hdGNoZXMgdGhlIGN1c3RvbWVyJ3Mgc2l0ZSBicmFuZGluZy5cclxuLy8gc29jaWFsLWJyYW5kaW5nOiBmb2xsb3dzIHRoZSBicmFuZCBndWlkZWxpbmVzIG9mIGVhY2ggc29jaWFsIHBsYXRmb3JtLlxyXG4kc29jaWFsLWljb24tY29sb3VyLW1vZGU6ICdzaXRlLXNwZWNpZmljJyAhZGVmYXVsdDtcclxuLy8gLS0tIFNvY2lhbCBpY29ucyBwcm9kdWN0IHBhZ2UgLS0tXHJcbiRwcm9kdWN0LXNvY2lhbC1pY29ucy1mbG9hdDogcmlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXNvY2lhbC1pY29ucy1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuLy8tLS0gU29jaWFsIEljb25zIGZvb3RlciAtLS1cclxuXHJcbi8vIC0tLS0tIFRFTVAgUkVTVE9SRSAtLS0tLVxyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDQU4gR08gQUZURVIgRk9PVEVSIDIuMCBMSVZFXHJcbiRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmctYm90dG9tOiAzMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1hbGlnbi1pdGVtczogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nLWJvdHRvbSxcclxuICAgIGxhcmdlOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3AgXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnM6IDQ1cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb24tZGltZW50aW9uczogKCRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zIC8gMikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXM6ICRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBURU1QIFJFU1RPUkUgRU5EIC0tLS0tXHJcbiRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIHNwYWNpbmctdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4sIDMpLFxyXG4gICAgbGFyZ2U6IDAgMCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW46IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG5AaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCB7XHJcbiAgICAvLyBEdWUgdG8gc3VwcHJlc3NpbmcgdGhlIGJhY2tncm91bmQgdGhlIGljb25zIG1heSBjb25mbGljdCB3aXRoIHRoZSBmb290ZXIgYmFja2dyb3VuZCBpZiBvbmUgaXMgc2V0IHNvIHlvdSBtYXkgd2FudCB0byBtYW51YWxseSBvdmVycmlkZSB0aGVzZSBjb2xvdXJzLlxyXG4gICAgJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyOiAoXHJcbiAgICAgICAgZGVmYXVsdDogbWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICAgICAgaG92ZXI6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICAgICAgYWN0aXZlOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBhY3RpdmUpXHJcbiAgICApICFkZWZhdWx0O1xyXG59XHJcbiRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk6IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLXN1cHByZXNzLWNvbnRhaW5lci1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gIDQwNCAoIGVycm9yIG5vdCBmb3VuZCApIC0tLS0tXHJcbiRub3QtZm91bmQtbG9nby1zaXplOiAoXHJcbiAgICB3aWR0aDogMjAwcHgsXHJcbiAgICBoZWlnaHQ6IDEwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZDogdHJ1ZSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1pbWFnZTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnNDA0LnN2ZycgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1yZXBlYXQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtYmFja2dyb3VuZC1zaXplOiA5MHB4IDMwcHggIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtc2l6ZTogMjAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXNpemU6IDYwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctMi1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLXNpemU6IDI0ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtcGFyYWdyYXBoLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtY29udGVudC1jb250YWluZXItd2lkdGg6IChcclxuICAgIHNtYWxsOiA5MHZ3LFxyXG4gICAgbGFyZ2U6IDgwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtY29udGVudC1jb250YWluZXItcGFkZGluZzogMjBweCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgkY29sb3VyMSwgMC44KSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEF4aXMgQ291bnRkb3duIC0tLS0tIFxyXG4kY291bnRkb3duLWRpc3BsYXktZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICB3YXJuaW5nOiAkY29sb3VyNixcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBFcXVpcG1lbnQgc2VsZWN0b3IgLS0tLS0gXHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItYm94LXNoYWRvdzogbnVsbCAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLXNpemU6IDI2ICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudDogKFxyXG4gICAgY29sb3VyLTE6ICRjb2xvdXIzLTEsXHJcbiAgICBjb2xvdXItMjogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QtaXRlbS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gUGljayAmIE1peCAtLS0tLVxyXG4vLyAtLS0gSGVhZGVyIC0tLVxyXG4kcGljay1uLW1peC1oZWFkaW5nLXNpemU6IDM1ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkaW5nLWZvbnQtc3R5bGU6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXN0eWxlICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1jb2xvdXI6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1oZWFkZXItY29udGVudC1zZXBlcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1iYWNrZ3JvdW5kLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAzMHB4IDEwcHgsXHJcbiAgICBsYXJnZTogMjBweCAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQ6ICRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgMjVweCxcclxuICAgIGxhcmdlOiAwIDAgNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gU2VsZWN0b3JzIC0tLVxyXG4vLyBXaWR0aCBvbmx5IGluIGRlc2t0b3AuXHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lci13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWNvbG91cjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTggIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8qKiBcclxuICAgIC0tLS0tIEVtYWlsIFRlbXBsYXRlcyAtLS0tLSBcclxuXHJcbiAgICBUSElOSyEuLi4uLi4gTElLRSBSRUFMTFkgVEhJTksgT1VUTE9PSyBCRUZPUkUgTUFLSU5HIENIQU5HRVMsIHRoaW5ncyB0aGF0IHRoZXNlIHZhcmlhYmxlcyB3aWxsIGVmZmVjdDogXHJcbiAgICAtIEZyYWdtZW50cyAoIGFyZSBjb2xvdXJzIGdlbmVyaWMgKSBcclxuICAgIC0gT3V0bG9vayBcclxuICAgIC0gRGlwbG9tYXQgZW1haWwgcGFyYW1ldGVyc1xyXG5cclxuKiovXHJcbiRlbWFpbC10ZW1wbGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogI2UwZTBlMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyOiA2NzBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1jb250ZW50LWNvbnRhaW5lci1ib3JkZXI6IDIwcHggc29saWQgJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyLWNvbG91ciAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLXByaWNlLWNvbC13aWR0aDogMTMwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1oZWFkaW5nLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTUgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1oZWFkaW5nLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1pdGVtcy10YWJsZS1oZWFkLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1pdGVtcy10YWJsZS1oZWFkLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWl0ZW1zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI6ICRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuLy8gLS0tIEVtYWlsIGJ1dHRvbnMgLS0tXHJcbiRlbWFpbC1idXR0b24td2lkdGg6IDIyMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLXBhZGRpbmc6IDE1cHggMjBweCAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLWZvbnQtc2l6ZTogMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vIFByaW1hcnlcclxuJGVtYWlsLWJ1dHRvbi1wcmltYXJ5LWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4vLyBTZWNvbmRhcnlcclxuJGVtYWlsLWJ1dHRvbi1zZWNvbmRhcnktY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVtYWlsLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTWFpbGluZyBsaXN0IHRlbXBsYXRlcyAtLS1cclxuJGVtYWlsLXRlbXBsYXRlLW1haWxpbmctbGlzdC13aWR0aDogNjUwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1tYWlsaW5nLWxpc3QtY29udGVudC1jb250YWluZXItd2lkdGg6IDU5MHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtbWFpbGluZy1saXN0LWZvbnQtZmFtaWx5OiAoXHJcbiAgICB0ZW1wbGF0ZS0xOiBcIkFyaWFsXCJcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJcclxuXHJcbi8vLS0tLS0gSGVhZGluZ3MgLS0tLSBcclxuLy8gVXNlZCB0byBicmVhayBjb250ZW50IG9udG8gbXVsdGlwbGUgbGluZXMgaW4gbW9iaWxlIGJ1dCBpbiBkZXNrdG9wIGl0cyB1c2VkIHRvIGJyZWFrIGNvbnRlbnQgdXAgd2hpbHN0IHJlbWFpbmluZyBvbiB0aGUgc2FtZSBsaW5lLlxyXG4ubW9iaWxlLWJyZWFrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRpbmctbW9kdWxlIHtcclxuICAgaDEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSkgPT0gXCJjZW50ZXJcIikge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpID09IFwicmlnaHRcIikge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgIH0gXHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgdG8gb3ZlcnJpZGUgRm91bmRhdGlvbidzIG5vcm1hbGl6ZXIuc2NzcywgdGhlcmUgaXMgbm8gY29uZmlndXJhdGlvbiB3aXRoaW4gc2V0dGluZ3Muc2NzcyB0byBoYW5kbGUgdGhpcyBhbmQgd2UgY2Fubm90IHVzZSAhaW1wb3J0YW50LlxyXG5ib2R5IHtcclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46ICRoZWFkaW5nLTEtbWFyZ2luO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMSB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDEpKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGluZy0xLW1hcmdpbjtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSkge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0xLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1wYWRkaW5nLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC1zaXplLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0yKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0yKSkgYW5kIG5vdCBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMikge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0yKSwgJGhlYWRpbmctMS1ydWxlLWNvbG91ciwgc3BhY2luZy12YWx1ZSgkaGVhZGluZy0xLXBhZGRpbmcsIDMsIHByZXNldC0yKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuaDIge1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgyKSk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgJGhlYWRpbmctMi1mb250LXN0eWxlIHtcclxuICAgICAgICBmb250LXN0eWxlOiAkaGVhZGluZy0yLWZvbnQtc3R5bGU7XHJcbiAgICB9XHJcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctMi1saW5lLWhlaWdodDtcclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC0xKTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0xKSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC1hbGlnbiwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB3b3JkLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi13b3JkLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGluZy0yLWJvcmRlci1ib3R0b20pIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctMi1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMik7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLXdvcmQtc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyBiYXNpY2FsbHkgdGhlIHBhZ2UgaGVhZGluZyBzdHlsZXMgd2hlbiB3ZSBjYW5ub3QgdXNlIGEgaDEgKCBpLmUgcHJvZHVjdCBwYWdlIClcclxuICAgICYucHJlc2V0MyB7XHJcbiAgICAgICAgQGlmIG5vdCAoJHBhZ2UtaGVhZGluZy11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0zKSk7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC0zKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0zKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTMpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC0zKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LWFsaWduLCBwcmVzZXQtMykpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtYWxpZ24sIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTMpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLXdvcmQtc3BhY2luZywgcHJlc2V0LTMpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMykpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLWJvcmRlci1yYWRpdXMsIHByZXNldC0zKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRoZWFkaW5nLTItYm9yZGVyLXJhZGl1cywgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwYWdlLWhlYWRpbmctdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTMpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmLnByZXNldDQge1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC00KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCkgPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaWYobWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCkgPT0gbnVsbCwycHgsbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZShtYXAtZ2V0KCRoZWFkaW5nLTItbWFyZ2luLCBwcmVzZXQtNCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5oMyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDMpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGhlYWRpbmctMy1tYXJnaW4sIHByZXNldC0xKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtcGFkZGluZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSkpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMy10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGhlYWRpbmctMy1tYXJnaW4sIHByZXNldC0yKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtcGFkZGluZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTIpKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMy10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTIpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTMtY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ydWxlLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuaDQge1xyXG4gICAgY29sb3I6ICRoZWFkaW5nLTQtY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg0KSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg0KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5oNSB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctNS1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDUpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDUpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbmg2IHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy02LWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNikpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNik7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENhbGxvdXQgdHlwb2dyYXBoeSAtLS0tLVxyXG4uY2FsbG91dCB7XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBoNSwgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBVc2VkIGZvciBhbGlnbmluZyB0ZXh0IGNlbnRlciAvIHJpZ2h0LlxyXG4udGV4dC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gTWFrZSBzdXJlIHRoaXMgZ2V0cyBzZXQgdG8gYSBibG9jayBlbGVtZW50IHdoZW4gaW5pdGlhbGx5IG1lYXN1cmluZy5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC8vIE9uY2UgbWVhc3VyaW5nIGhhcyBjb21wbGV0ZWQgZmxleGJveCBpcyB0aGVuIHVzZWQsIGJhc2VsaW5lIG5lZWRzIHRvIGdldCBzZXQgdG8ga2VlcCB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGlubGluZSB3aXRoIG90aGVyIGNvbHVtbnMuXHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIC8vIE90aGVyd2lzZSBpbiBmb3IgbGFyZ2UgdGFibGV0cyBzdWNoIGFzIElwYWQncyB0aGUgY29udGFpbmVyIGdvZXMgaW4gdGhlIGNlbnRlciBvZiB0aGUgc2NyZWVuLlxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsaWduLWxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQW5jaG9ycyAtLS0tIFxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvcnMtdGV4dC1kZWNvcmF0aW9uO1xyXG4gICAgLy8gTW92aW5nIHRvIENTUyB2YXJpYWJsZXMgdG8gc3VwcG9ydCBzaXRlLXN0eWxlKHMpIDg1MDI4OC5cclxuICAgIC8vIGNvbG9yOiBtYXAtZ2V0KCRhbmNob3JzLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXI0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYW5jaG9ycy1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFuY2hvcnMtZm9udC1zaXplKTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZWRpdCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZWRpdCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgfVxyXG4gICAgJi5uZXdzLWJ1dHRvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIG5ld3MpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5ld3MtYnV0dG9uLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2ctYnV0dG9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgYmxvZykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBibG9nKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmxvZy1idXR0b24taWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50cy1idXR0b24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBldmVudHMpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tbGluay1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZXZlbnRzKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZXZlbnRzLWJ1dHRvbi1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5leHRlcm5hbC1saW5rLWljb24ge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBleHRlcm5hbC1saW5rLWljb24pO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9ycy1ob3Zlci10ZXh0LWRlY29yYXRpb247XHJcbiAgICAgICAgLy8gTW92aW5nIHRvIENTUyB2YXJpYWJsZXMgdG8gc3VwcG9ydCBzaXRlLXN0eWxlKHMpIDg1MDI4OC5cclxuICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRhbmNob3JzLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJGFuY2hvcnMtY29sb3VyKX0sICRjb2xvdXI2KTtcclxuICAgICAgICBvcGFjaXR5OiAka25vY2tCYWNrMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgLy8gTW92aW5nIHRvIENTUyB2YXJpYWJsZXMgdG8gc3VwcG9ydCBzaXRlLXN0eWxlKHMpIDg1MDI4OC5cclxuICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRhbmNob3JzLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBjb2xvcjogdmFyKCN7YWN0aXZlLWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjMtNik7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiBUaGlzIGNhbiBiZSBwaGFzZWQgb3V0IHVzZSBhdHRhY2htZW50LWNvbnRhaW5lciBpbnN0ZWFkLlxyXG4gICAgJi5wZGYtZG93bmxvYWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwZGYpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwZGYtdGFibGUtYW5jaG9yLW1hcmdpbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoJGZpbGUtaWNvbnMtc2l6ZSAvIDEuMyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwZGYpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIExpc3RzIC0tLS0tIFxyXG5vbCB7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gU2VwZXJhdG9ycyAtLS0tLS0gXHJcbmhyIHtcclxuICAgICYubW9iaWxlLXNlcGVyYXRvciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQWRkcmVzcyBGb3JtYXR0aW5nIC0tLS0tXHJcbmFkZHJlc3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vIElmIHRoaXMgaXMgbWFkZSBjb25maWd1cmFibGUgaW4gdGhlIGZ1dHVyZSB0aGVuIHJlY2hlY2sgY2hlY2tvdXQgY29tcGxldGUgZGVsaXZlcnkgIGFkZHJlc3MgZm9udCBzdHlsZSB0byBtYWtlIHN1cmUgaXQgaXMgY29uc2lzdGVudCB3aXRoIG9yZGVyIGRldGFpbHMuXHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSWNvbnMgLS0tLS1cclxuLy8gRHVlIHRvIGRlc2t0b3AgaGF2aW5nIGFjY2VzcyB0byB0b29sdGlwcyAoIHRpdGxlIGF0dHJpYnV0ZSApIHdlIG5lZWQgYSBtZWNoYW5pc20gdG8gZGlzcGxheSB0aGlzIGZvciBtb2JpbGUgZGV2aWNlcyBkdWUgdG8gdGhlIGFic2VuY2Ugb2YgdGhlIGhvdmVyIHN0YXRlLlxyXG5zcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgIC5pY29uLXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFByaWNpbmcgLS0tLS0tIFxyXG5AaW5jbHVkZSBwcmljZSgpO1xyXG5cclxuLy8gLS0tLS0gSG9yaXpvbnRhbCBSdWxlcyAtLS0tLS1cclxuaHIge1xyXG4gICAgbWFyZ2luOiAyNXB4IDA7XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcImxhcmdlXCI6IDEwMjRweCxcbiAgXCJ4bGFyZ2VcIjogMTIwMHB4LFxuICBcInh4bGFyZ2VcIjogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgXCJoaWRwaS0xXCI6IDEsXG4gIFwiaGlkcGktMS01XCI6IDEuNSxcbiAgXCJoaWRwaS0yXCI6IDIsXG4gIFwicmV0aW5hXCI6IDIsXG4gIFwiaGlkcGktM1wiOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLy0tLS0tIERpcmVjdGlvbnMgLS0tLS1cclxuJHBvaW50VXA6IC0xMzVkZWc7XHJcbiRwb2ludERvd246IDQ1ZGVnO1xyXG4kcG9pbnRSaWdodDogLTQzZGVnO1xyXG4kcG9pbnRMZWZ0OiAtMjIzZGVnO1xyXG5cclxuXHJcbi8vLS0tLS0gQmFubmVyIE92ZXJsYXlzIC0tLS0tIFxyXG5AbWl4aW4gb3ZlcmxheUJhbm5lcigkd2lkdGgsICRiZ0NvbG91cjogJycsICRjb2xvdXI6ICcjZmZmZmYnKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDA1JztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gSWNvbnMgLS0tLS1cclxuLy8tLS0gQ2hldmVyb25zIC0tLVxyXG5AbWl4aW4gY2hldnJvbjEoJGNvbG91ciwgJGRpcmVjdGlvbiwgJGRpbWVuc2lvbnM6IFwiXCIpIHtcclxuICAgIGhlaWdodDogJGRpbWVuc2lvbnM7XHJcbiAgICB3aWR0aDogJGRpbWVuc2lvbnM7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKCRkaXJlY3Rpb24pO1xyXG59XHJcbiBcclxuQG1peGluIGNoZXZyb24zKCRjb2xvdXIsICRzaXplLCAkYWN0aXZlOiBmYWxzZSwgJGRpcmVjdGlvbkluQWN0aXZlOiAxODBkZWcsICRkaXJlY3Rpb25BY3RpdmU6IDBkZWcpIHtcclxuICAgIEBpZiAoJGFjdGl2ZSA9PSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gMTBweDtcclxuICAgICAgICAvL2Rpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAjeyRzaXplfXB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZGlyZWN0aW9uSW5BY3RpdmV9KTtcclxuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkaXJlY3Rpb25BY3RpdmV9KTtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gU29jaWFsIC0tLSBcclxuQG1peGluIHNvY2lhbDEoJHByaXZhdGVVc2VBcmVhLCAkY29sb3VyLCAkc2l6ZSwgJGZvbnRGYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnLCAkaW52ZXJ0OiBmYWxzZSkge1xyXG4gICAgd2lkdGg6ICgyICogJHNpemUpO1xyXG4gICAgaGVpZ2h0OiAoMiAqICRzaXplKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpZiAoJGludmVydCA9PSB0cnVlKSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAkcHJpdmF0ZVVzZUFyZWE7XHJcbiAgICAgICAgd2lkdGg6ICgxLjIgKiAkc2l6ZSk7XHJcbiAgICAgICAgaGVpZ2h0OiAoMS4yICogJHNpemUpO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDAgMCAwIDI3JTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIElucHV0IHJlYWQtb25seSAtLS1cclxuQG1peGluIGlucHV0UmVhZE9ubHkoJGljb24tY29sb3VyOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpKSB7XHJcbiAgICAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJGljb24tY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuby1hY2Nlc3MpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IChzcGFjaW5nLXZhbHVlKCRmaWVsZHNldC1sYWJlbC1wYWRkaW5nLCAyLCBsYXJnZSkgLyAyICsgMTBweCk7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBIZWFkaW5nIC0tLS0tIFxyXG4vLy0tLSBVbmRlciBsaW5lIC0tLSBcclxuLy8gaGVhZGluZ1VuZGVyTGluZSB3YXMgdGhlIGZpcnN0IGF0dGVtcHQgb2YgdGhpcyBtaXhpbiBidXQgaGFkIG5vIHN1cHBvcnQgZm9yIGhvdmVyLCBhY3RpdmUgc3RhdGVzICsgaGFkIHNwZWNpZmljIHBhZGRpbmcuXHJcbkBtaXhpbiBoZWFkaW5nVW5kZXJMaW5lKCRkaXNwbGF5TGluZXM6IDIsICRjb2xvdXI6IFwiXCIsICR1bmRlcmxpbmVDb2xvdXI6IFwiXCIsICRwYWRkaW5nLWJvdHRvbTogMTVweCkge1xyXG4gICAgLy9JZiBubyBjb2xvdXIgaXMgYXNzaWduZWQgdGhlbiBkZWZhdWx0IHRvIGNvbG91cjQ7XHJcbiAgICBAaWYgKCRjb2xvdXIgPT0gXCJcIikge1xyXG4gICAgICAgICRjb2xvdXI6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJHVuZGVybGluZUNvbG91ciA9PSBcIlwiKSB7XHJcbiAgICAgICAgJHVuZGVybGluZUNvbG91cjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogJGNvbG91cjtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XHJcbiAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGRpc3BsYXlMaW5lcywgKGRlZmF1bHQ6ICR1bmRlcmxpbmVDb2xvdXIpKTtcclxufVxyXG4vLyBOZXcgdW5kZXJsaW5lIG1peGluIHRoYXQgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBoZWFkaW5nVW5kZXJMaW5lLlxyXG5AbWl4aW4gdW5kZXJsaW5lKCRkaXNwbGF5LWxpbmVzLCAkdW5kZXJsaW5lLWNvbG91cjogKGRlZmF1bHQ6IG1hcC1nZXQoJGRlZmF1bHQtdW5saW5lLWNvbG91cnMsIGRlZmF1bHQpKSwgJGRlZmF1bHQtd2lkdGg6IDEwMCUsICRydWxlLWhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0LCAkcnVsZS1wb3NpdGlvbjogKGJvdHRvbTogMCkpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJGRlZmF1bHQtd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkcnVsZS1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIHRvcCkpIHtcclxuICAgICAgICAgICAgdG9wOiBtYXAtZ2V0KCRydWxlLXBvc2l0aW9uLCB0b3ApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCByaWdodCkpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIHJpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgYm90dG9tKSkge1xyXG4gICAgICAgICAgICBib3R0b206IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIGJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIGxlZnQpKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIGxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAvLyBTd2l0Y2hpbmcgdG8gdXNpbmcgYm9yZGVyIHByb3BlcnR5IGluc3RlYWQgb2Ygc2V0dGluZyBoZWlnaHQgYXMgZ2V0dGluZyB3ZWlyZCBpbmNvbnNpc3RhbmNpZXMgd2hlbiB0aGUgYnJvd3NlciByZW5kZXJzIHRoZSBydWxlcyBieSB+LjNweC4gaHR0cHM6Ly9qb2hucmVzaWcuY29tL2Jsb2cvc3ViLXBpeGVsLXByb2JsZW1zLWluLWNzcy8gLSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zOTIwOTg4Ni8xcHgtY2FsY3VsYXRpb24taXNzdWUtd2l0aC1icm93c2Vycy1zdWItcGl4ZWwtcHJvYmxlbXNcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gMDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAoJHJ1bGUtaGVpZ2h0ID4gMSBhbmQgc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtd2lkdGggPT0gMCkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICAgICAgICAvLyBEdWUgdG8gYmFja2dyb3VuZC1jb2xvciBiZWluZyBzdXBwcmVzc2VkIGJ5IGJhY2tncm91bmQgZ3JhcGhpYyBvcHRpb25zIGluIGFkZGl0aW9uYWwgc2V0dGluZ3MsIGluY3JlYXNpbmcgd2VpZ2h0IGZvciBwb29yIHF1YWxpdHkgcHJpbnRlcnMuXHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICN7KCRydWxlLWhlaWdodCArIDEpfSBzb2xpZCBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICgkZGlzcGxheS1saW5lcyA+IDEpIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1bmRlcmxpbmUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gQnV0dG9ucyAtLS0tLVxyXG4vL0J1dHRvbjEgXHJcbkBtaXhpbiBidXR0b24xKCRjb2xvdXIsICRmb250U2l6ZTogMTUsICRmb250V2VpZ2h0OiA2MDAsICRwYWRkaW5nOiAxNXB4IDIwcHgsICR3aWR0aDogYXV0bywgJGJhY2tncm91bmQtY29sb3VyOiAoKSkge1xyXG4gICAgLy9Ad2FybiBcIlRoZSBidXR0b24xKCkgbWl4aW4gaXMgZGVwcmVjYXRlZC4gSW5jbHVkZSBjb21tb24tYnV0dG9uLTEoKSBpbnN0ZWFkLlwiO1xyXG4gICAgQGlmICgkd2lkdGggPT0gYXV0bykge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6ICN7JGZvbnRTaXplfXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmOmVuYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC41KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGljb24tYnV0dG9uKCRtb2JpbGUtYWx0LWNvbG91cnMgOiBmYWxzZSkge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYnV0dG9uLmRpc2FibGVkLCBhLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBob3Zlci1hbHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLCBidXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBTdXBwcmVzcyBhbnkgYW5jaG9yIGFycm93IGluZGljYXRvcnMgaW4gbWVudXMuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlLWFsdCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBDZW50ZXJhbGlzZSBpY29uIGluIHRoZSBjb250aWFuZXIuXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRlZmF1bHQtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0byAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQsIGFjY291bnQtcGFnZSk7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuQG1peGluIGNvbW1vbi1idXR0b24tMSgkcGFkZGluZzogXCJcIiwgJGJhY2tncm91bmQ6IChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxLCBhY3RpdmU6ICRjb2xvdXI2KSAsICRjb2xvdXI6IChkZWZhdWx0OiAkY29sb3VyMSwgaG92ZXI6ICRjb2xvdXI0LCBhY3RpdmU6ICRjb2xvdXIxLCBkaXNhYmxlZDogJGNvbG91cjMtMyksICRib3JkZXItY29sb3VyOiAoKSwgJGZvbnQtc2l6ZTogXCJcIiwgJGZvbnQtd2VpZ2h0OiBcIlwiLCAkZGltZW50aW9uczogKHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgJG1hcmdpbjogKHNtYWxsOiAxMHB4IDAsIG1lZGl1bTogMTBweCAwLCBsYXJnZTogMCAwIDIwcHgpLCAkZGlzcGxheTogZmxleCwgJGljb24tY29uZmlnOiBudWxsLCAkZmxleC1ncm93OiBmYWxzZSkge1xyXG5cclxuICAgIC8vIEluaG91c2UgY29sb3VyIGVkZ2Ugc3RlcCBlZmZlY3QuXHJcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xyXG5cclxuICAgIC8vIERlZmF1bHRzLlxyXG4gICAgQGlmICRwYWRkaW5nID09IFwiXCIge1xyXG4gICAgICAgICRwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvbnQtc2l6ZSA9PSBcIlwiIHtcclxuICAgICAgICAkZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvbnQtd2VpZ2h0ID09IFwiXCIge1xyXG4gICAgICAgICRmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgQGlmICgkbWFyZ2luID09IDApIHtcclxuICAgICAgICAkbWFyZ2luOiAoXHJcbiAgICAgICAgICAgIHNtYWxsOiAwLFxyXG4gICAgICAgICAgICBsYXJnZTogMFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVE9ETzogQ0FOTk9UIGRvIGNvbnRyYXN0LWNoZWNrZXIgKCBjb2xvdXIgcHJvY2Vzc2luZyApIGhlcmUganVzdCB5ZXQgYXMgc29tZSBtaXhpbiBjYWxsJ3MgZG8gbm90IGhhdmUgYSBmdWxsIGxpc3Qgb2YgY29sb3VyIG1peGluJ3MgYmVpbmcgcGFzc2VkIGluIGFuZCB0byBkbyBhIHJlbGlhYmxlIGZ1bGxiYWNrIHdpdGggbWFwcyB3ZSBuZWVkIGFjY2VzcyB0byBmdW5jdGlvbnMgbWFwLXNldCBvciBtYXAtbWVyZ2Ugd2hpY2ggd2UgY3VycmVudGx5IGRvIG5vdCBhcyB3ZSBuZWVkIHRvIHVwZGF0ZSBmcm9tIFJ1YnkgU2FzcyB0byBEYXJ0IFNhc3MgaHR0cHM6Ly9zYXNzLWxhbmcuY29tL2RvY3VtZW50YXRpb24vdmFsdWVzL21hcHNcclxuXHJcblxyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRkaW1lbnRpb25zLCBtb2JpbGUtd2lkdGgpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgbW9iaWxlLXdpZHRoKTtcclxuICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGRpbWVudGlvbnMsIHdpZHRoKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRmFsbGJhY2tcclxuICAgICRpY29uLXBvc2l0aW9uOiBiZWZvcmU7XHJcblxyXG4gICAgQGlmICgkaWNvbi1jb25maWcpIHsgXHJcbiAgICAgICAgJGljb24tcG9zaXRpb246IG1hcC1nZXQoJGljb24tY29uZmlnLCBwb3NpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgbWF4LWhlaWdodDogbWFwLWdldCgkZGltZW50aW9ucywgbWF4LWhlaWdodCk7XHJcbiAgICBoZWlnaHQ6IGlmKG1hcC1nZXQoJGRpbWVudGlvbnMsIGhlaWdodCkgPT0gJycsIDEwMCUsIG1hcC1nZXQoJGRpbWVudGlvbnMsIGhlaWdodCkpO1xyXG4gICAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgICBAaWYgJGRpc3BsYXkgPT0gXCJmbGV4XCIgb3IgJGRpc3BsYXkgPT0gXCJpbmxpbmUtZmxleFwiIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZmxleC1ncm93KSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLy8gQWRkaW5nIHBvc2l0aW9uIHJlbGF0aXZlIHRvIGtlZXAgYW55IGFic29sdXRlIGVsZW1lbnRzIGluc2lkZSBvZiB0aGUgYnV0dG9uICggaS5lIGdyYWR1YXRlZC1jb2xvdXItZWRnZSApXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAje3NtYWxsLXZhbHVlKCRtYXJnaW4pfSk7XHJcbiAgICAvLyBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgJHBhZGRpbmcpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci13aWR0aDogJGNvbW1vbi1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiAoJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0gPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBpZigkZm9udC13ZWlnaHQgPj0gNjAwLCAkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZy11cHBlcmNhc2UtYm9sZCwgJGNvbW1vbi1idXR0b24tbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRlZmF1bHQpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkY29tbW9uLWJ1dHRvbi1saW5lLWhlaWdodDsgICAgXHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uLi4uXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRtYXJnaW4pKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAje21lZGl1bS12YWx1ZSgkbWFyZ2luKX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sICN7bGFyZ2UtdmFsdWUoJG1hcmdpbil9KTtcclxuICAgIH1cclxuICAgIC8vIE9ubHkgYXBwbHkgaG92ZXIgZWZmZWN0IGlmIGRldmljZSBzdXBwb3J0cyBpdCAoIGkuZSBub3QgaW4gbW9iaWxlICkgdG8gYXZvaWQgdGhlIHN0aWNreSBob3ZlciBlZmZlY3QuXHJcbiAgICAvLyBodHRwczovL2l0bmV4dC5pby9maW5hbGx5LWEtY3NzLW9ubHktc29sdXRpb24tdG8taG92ZXItb24tdG91Y2hzY3JlZW5zLWM0OThhZjM5YzMxY1xyXG4gICAgLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zb2x2aW5nLXN0aWNreS1ob3Zlci1zdGF0ZXMtd2l0aC1tZWRpYS1ob3Zlci1ob3Zlci9cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciwgJi5ob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRpY29uLWNvbmZpZywgXCJjb2xvdXJcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBhY3RpdmUpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkaWNvbi1jb25maWcsIFwiY29sb3VyXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkYmFja2dyb3VuZCwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBAaWYgKCRpY29uLWNvbmZpZykge1xyXG4gICAgICAgICAgICAmOiN7JGljb24tcG9zaXRpb259IHtcclxuICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkOmhvdmVyLCAmLmRpc2FibGVkOmhvdmVyIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gY29uZmlndXJhdGlvbi5cclxuICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqL1xyXG4gICAgICAgIFxyXG4gICAgICAgICRpY29uLXBvc2l0aW9uOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgcG9zaXRpb24pO1xyXG4gICAgICAgIC8vIEZhbGxiYWNrXHJcbiAgICAgICAgQGlmIG5vdCAoJGljb24tcG9zaXRpb24pIHtcclxuICAgICAgICAgICAgJGljb24tcG9zaXRpb246IGJlZm9yZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgY29udGVudCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkaWNvbi1jb25maWcsIG1hcmdpbik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGljb24tY29uZmlnLCBzaXplKTtcclxuICAgICAgICAgICAgLy8gSWYgdXNpbmcgYSBmb250ZWxsbyBsaWJyYXJ5IHRoZW4gbWFrZSBzdXJlIHRoZSBmb250LXdlaWdodCBpcyBzZXQgdG8gNDAwIG90aGVyd2lzZSBhIHdlaXJkIGJvcmRlciBlZmZlY3QgaXMgYXBwbGllZCAoIHRoaXMgaXMgbGFyZ2VseSBkdWUgdG8gb25seSBoYXZlIHRoZSBmb250cyBpbiAxIHdlaWdodCApLlxyXG4gICAgICAgICAgICBAaWYgKHN0ci1pbmRleChcImZvbnRlbGxvXCIsIG1hcC1nZXQoJGljb24tY29uZmlnLCBmb250LWZhbWlseSkpKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGljb24tY29uZmlnLCBcImNvbG91clwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUmVhZCBtb3JlIGJ1dHRvbiAvIGFuY2hvciAtLS0gXHJcbkBtaXhpbiByZWFkTW9yZVN1ZmZpeCgpIHtcclxuICAgIEBpZiAkcmVhZC1tb3JlLXN1ZmZpeC1pY29uIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRyZWFkLW1vcmUtc3VmZml4LWN1c3RvbS1pY29uKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIENsb3NlIEJ1dHRvbiAtLS0gXHJcbkBtaXhpbiBjbG9zZUJ1dHRvbiAoJHNpemU6ICRpY29uLXNpemUsICRkZWZhdWx0LWNvbG91cjogXCJcIiwgJGhvdmVyLWNvbG91cjogXCJcIiwgJGFjdGl2ZS1jb2xvdXI6IFwiXCIpIHtcclxuXHJcbiAgICAvLyBGYWxsYmFja3MuXHJcbiAgICBAaWYgJGRlZmF1bHQtY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vIENoZWNrIGNvbnRyYXN0IGFnYWluc3Qgd2hpdGUgYXMgdGhpcyBidXR0b24gb24gXCJtb3N0XCIgY2FzZXMgYXBwZWFycyBvbiBhIHdoaXRlIGJhY2tncm91bmQuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRkZWZhdWx0LWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkaG92ZXItY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRob3Zlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgIH1cclxuICAgIEBpZiAkYWN0aXZlLWNvbG91ciA9PSBcIlwiIHtcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkYWN0aXZlLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbG9zZS1idXR0b24pO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICRzaXplO1xyXG4gICAgICAgIEBpZiAoJGRlZmF1bHQtY29sb3VyICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogKCRzaXplICogMS4yKTtcclxuICAgICAgICAgICAgQGlmICgkaG92ZXItY29sb3VyICE9IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gVGFibGUgbGF5b3V0IGluIG1vYmlsZS5cclxuQG1peGluIGdyaWQtdGFibGUtbGF5b3V0LW1vYmlsZSgpIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAvLyBUd28gY29sdW1uIGFycmFuZ2VtZW50IHdoaWNoIHRoZSBpbWFnZSBnZXRzIGNvbXByZXNzZWQgb24gc21hbGxlciBkZXZpY2VzIHRvIGZpdCBjZWxsIG1haW4gY29udGVudCAoIGkuZSBkZXNjcmlwdGlvbiwgcHJpY2UgJiBidXkgYm94ZXMgKS5cclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDFmcjtcclxuICAgIC8vIE11bHRpbWVkaWEgY29udGVudCA9PSBJbWFnZXMsIHZpZGVvcyBvciBhbmltYXRpb25zLiBUaGUgcmVzdCBvZiB0aGUgY29udGVudCBoYXMgc3BlY2lmaWMgYXJlYSdzIHRoYXQgaXQgc2l0cyBpbiAoIGkuZSBkZXNjcmlwdGlvbi1jb2wgc2l0cyBpbiB0ZSBkZXNjcmlwdGlvbiBhcmVhIClcclxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibXVsdGltZWRpYS1jb250ZW50IGRlc2NyaXB0aW9uXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgY29kZVwiIFwibXVsdGltZWRpYS1jb250ZW50IHByaWNlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgaW50ZXJhY3RpdmVcIjtcclxuICAgIC8vIEVhY2ggcm93IGV4Y2VwdCB0aGUgcHJpY2luZyByb3cgdG8gbWF0Y2ggaXRzIGNvbnRlbnQgaGVpZ2h0LCByZWFzb24gZm9yIHRoaXMgaXMgdG8gYWxsb3cgYW55IGF2YWlsYWJsZSBoZWlnaHQgdG8gYmUgdGFrZW4gdXAgYnkgdGhlIHByaWNpbmcgdGV4dCB0aGlzIHdpbGwgYWxzbyBwaW4gdGhlIGludGVyYWN0aXZlIGVsZW1lbnRzIHRvIHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcclxuICAgIC8vIERpc3RhbmNlIGJldHdlZW4gZWFjaCBjb250ZW50IGNvbnRhaW5lci5cclxuICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwJSAxZnI7XHJcbiAgICB9XHJcbiAgICAvLyA+IGE6Zmlyc3QtY2hpbGQgaXMgdGhlIG9sZCB3YXkgb2YgdGhpbmtpbmcgYmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIGZvcm1hbCBjb25jZXB0IGFzIGEgY2xhc3MuXHJcbiAgICAubXVsdGltZWRpYS1jb250ZW50LCA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGdyaWQtYXJlYTogbXVsdGltZWRpYS1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjtcclxuICAgIH1cclxuICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBjb2RlO1xyXG4gICAgfVxyXG4gICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBwcmljZTtcclxuICAgIH1cclxuICAgIC8vIEludGVyYWN0aXZlIGFyZWEsIHRoaXMgY291bGQgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgKCBidXkgYm94ZXMsIGxvZ2luLCBlbnF1aXJ5IG9yIHN0b2NrbGluZSBidXR0b25zICkuXHJcbiAgICAuaW50ZXJhY3RpdmUtY29udGVudCwgLnF1YW50aXR5LWNvbnRhaW5lciwgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBpbnRlcmFjdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRm9ybSBtaXhpbnMgLS0tLS0gXHJcbi8vIC0tLSBFcnJvciBCbG9jayAtLS0gXHJcbkBtaXhpbiBlcnJvci1ibG9jaygpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgaDIsIGg0IHtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZXJyb3ItYmxvY2stZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcnJvci1ibG9jay1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gUGFnZSBTcGVjaWZpYyBNaXhpbnMgLS0tLS1cclxuLy8tLS0gUHJvZHVjdCAtLS1cclxuQG1peGluIHRyaXBsZU1vZHVsZVNlY3Rpb24oJHByaXZhdGVVc2VBcmVhOlwiXCIsICRoYXNJY29uOiBmYWxzZSAsJGljb25Db2xvdXI6XCJcIiwgJGZvbnRGYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBTb2xpZCcpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMjVweCBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBAaWYgKCRoYXNJY29uID09IHRydWUpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkcHJpdmF0ZVVzZUFyZWE7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGljb25Db2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbWFnZTM2ME92ZXJsYXkoJGljb25TaXplOiA4MCUsICRvdmVybGF5U2l6ZTogOTBweCkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIG1heC13aWR0aDogJG92ZXJsYXlTaXplO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRvdmVybGF5U2l6ZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIyLCAwLjIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBpbWFnZS0zNjApKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpY29uU2l6ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAoJGJvcmRlclJhZGl1czIgLyAyKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRjb2xvdXIzLTEsIDAuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcmljZSgkaXMtbGlzdDogZmFsc2UpIHtcclxuICAgIC8vIHRkIHtcclxuICAgIC8vICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgeyAgICBcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgLy8gICAgIC8vIFRoaXMgd2FzIHB1dCBpbiBmb3Igb3B0aW9uYWwgZXh0cmEncyBub3QgYWxpZ25pbmcgd2l0aCB0aC5cclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gVG8gcHJldmVudCBkdXBsaWNhdGUgbGFiZWxzIGlmIHRoZXJlIGlzIG9ubHkgb25lIHByaWNlIGJlaW5nIG91dHB1dHRlZC5cclxuICAgIC5jb2wtbGFiZWwgKyAucHJpY2VzIHtcclxuICAgICAgICBwOm9ubHktY2hpbGQgLmxhYmVsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QgYW5kICRwcmljZS1saXN0LWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWxpc3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRvIGlubGluZS1mbGV4IGR1ZSB0byBpbmNvbnNpc3RlbmNpZXMgb24gdGhlIHByb2R1Y3QgZW5xdWlyeSBwYWdlLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJpY2UtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OyAvLyBGb2xsb3cgc2FtZSBydWxlIGFzIGRlc2NyaXB0aW9uIHRvIGJyaW5nIG11bGl0cGxlIGxpbmVzIGNsb3NlciBhcyB0aGV5IHJlbGF0ZS5cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXNzdWVzIHdpdGggdmF0IHRleHQuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICY6aGFzKC52YXQpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByaWNlLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBwcmV2ZW50IHNtYWxsIHN0cmluZ3Mgb2YgdGV4dCBpbiBsYWJlbHMgZnJvbSB3cmFwcGluZy5cclxuICAgICAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgfiAudmF0IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBZGRpbmcgcGFkZGluZyBsZWZ0IGR1ZSB0byBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UgdGhlIHZhdCB0ZXh0IGFzIHJlbmRlcmluZyByaWdodCB1cCBhZ2FpbnN0IHRoZSBwcmljZS5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRpcy1saXN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNhdmluZ3MtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNhdmluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzYXZpbmdzLXRleHQtdHJhbnNmb3JtICE9IG5vcm1hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzYXZpbmctc3RyaWtlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnJycCB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRycnAtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcnJwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJycC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHJycC10ZXh0LXRyYW5zZm9ybSAhPSBub3JtYWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRycnAtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHJycC1zdHJpa2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1wcmljZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2stcHJpY2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBhY2stc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcGFjay1zaXplLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1zaXplLWNvbG91cjsgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1pdGVtLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLWl0ZW0tc2l6ZS1jb2xvdXIgIT0gJHByaWNlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhY2staXRlbS1zaXplLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkcHJpY2UtdGV4dC1hbGlnbiA9PSBcImNlbnRlclwiIGFuZCAkaXMtbGlzdCkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcmljZS10ZXh0LWFsaWduID09IFwibGVmdFwiKSB7XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIEhhZCB0byBhZGQgb3ZlcnJpZGUgZm9yIFdpbGQgdGhpbmdzIGR1ZSB0byBpbmNvbnNpc3RhbmN5IGluIGxvZ2ljIG9uIG90aGVyIHNpdGVzICggaS5lIGF4aXMgKS5cclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICBtYXJnaW46ICRwcmljZS1tYXJnaW47XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBjb25zaXN0ZW5jeSBpc3N1ZXMgd2hlbiBkaXNwbGF5aW5nIG11bGlwbGUgcHJpY2VzLlxyXG4gICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIC5jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAudmF0IHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByaWNlLXZhdC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBycnAoKSB7XHJcbiAgICAvLyAucnJwIHtcclxuICAgICAgICAvLyBjb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkcnJwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6ICRycnAtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIC8vIH1cclxufVxyXG5cclxuQG1peGluIHNhdmluZygpIHtcclxuICAgIC8vIC5zYXZpbmcge1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNhdmluZy1mb250LXNpemUpO1xyXG4gICAgICAgIC8vIGZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIC8vIGNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbkBtaXhpbiBxdWFudGl0eS1zZWxlY3Rvci1sYWJlbCgpIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRxdWFudGl0eS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkcXVhbnRpdHktbGFiZWwtY29sb3VyO1xyXG4gICAgQGlmICgkcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHF1YW50aXR5LWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICB9IFxyXG59XHJcblxyXG5AbWl4aW4gY29tbW9uLWNoZWNrYm94KCRkaW1lbnRpb25zOiAkY2hlY2tib3gtZGltZW50aW9ucykge1xyXG4gICAgLy8gQ2FsY3VsYXRlIHJhZGl1cy5cclxuICAgICRjaGVja2JveC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAvLyBDYXAgcmFkaXVzIG90aGVyd2lzZSB5b3Ugd2lsbCBlbmQgdXAgd2l0aCBhIGNpcmNsZS5cclxuICAgIEBpZiAoJGNoZWNrYm94LXJhZGl1cyA+IDUpIHtcclxuICAgICAgICAkY2hlY2tib3gtcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gQmFzZSBjaGVja2JveCBzdHlsZXMgLS0tXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAkZGltZW50aW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICRjaGVja2JveC1yYWRpdXMge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hlY2tib3gtcmFkaXVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNoZWNrYm94LXRpY2spO1xyXG4gICAgICAgICAgICB3aWR0aDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAoJGRpbWVudGlvbnMgLyAxLjcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTcGVjaWZpYyBjaGVja2JveCBzdHlsZXMgLS0tIFxyXG4gICAgLy8gRGVmYXVsdCBTdGF0ZS5cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGlzYWJsZWQgJiBSZWFkIE9ubHkuXHJcbiAgICAmW3JlYWRvbmx5XSArIHNwYW4sICZbZGlzYWJsZWRdIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEhvdmVyIFN0YXRlLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Y2hlY2tlZCArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9jdXMuXHJcbiAgICArIHNwYW4ge1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ2hlY2tlZCAvIEFjdGl2ZSBTdGF0ZS5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFbmFibGVkLlxyXG4gICAgICAgICY6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAvLyBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEaXNhYmxlZCAmIFJlYWQgT25seS5cclxuICAgICAgICAmW2Rpc2FibGVkXSwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjaGVja2JveC1pY29uLWNvbG91ciwgYWN0aXZlLWRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidWxsZXRwb2ludCgpIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ1bGxldC1zaXplO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidWxsZXQtc2l6ZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1bGxldC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidWxsZXQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQcm9kdWN0IGNvbGxlY3Rpb24gc3R5bGVzLlxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoJGludmVydC1lYmctY29sb3VyczogZmFsc2UsICRpcy1ncmlkLWNvbGxlY3Rpb246IGZhbHNlKSB7XHJcbiAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvcikge1xyXG4gICAgICAgJjpub3QoLm1pbmlmaWVkLWxheW91dCkge1xyXG4gICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtI3tpZigkY29sbGVjdGlvbi1lYmctaW1hZ2Utc2VwZXJhdG9yLCcnLCc6bm90KC5lYmcpJyl9IC5jb250ZW50LWNvbnRhaW5lcjpub3QoLmltYWdlKTpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvci1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItcG9zaXRpb24tYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IGxlZnQsIGltYWdlIHJpZ2h0XHJcbiAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcih0cnVlKTtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgZ3JvdXBzIGRvbnQgaGF2ZSBhIHByaWNlLlxyXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBndXR0ZXIgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIG1hcmdpbi5cclxuICAgICAgICAgICAgICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gR2l2ZSB0aGUgdGV4dCBtb3JlIGRvbWluYW5jZSBvdmVyIHRoZSBpbWFnZSA4NDQ2NzguIFxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIFNwZWNpZmljIHN0eWxlcyBmb3IgcHJvZHVjdCBjb2xsZWN0aW9ucy5cclxuICAgICAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZ3JvdXAtZGVzY3JpcHRpb24oKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiwgLmNvZGUsIC5wcmljZXMsIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDEsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAzLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWJ1dHRvbi1jb250YWluZXJzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29udGVudCByaWdodCwgSW1hZ2UgbGVmdFxyXG4gICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBncm91cHMgZG9udCBoYXZlIGEgcHJpY2UuXHJcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgZ3V0dGVyIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBtYXJnaW4uXHJcbiAgICAgICAgICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAvLyBHaXZlIHRoZSB0ZXh0IG1vcmUgZG9taW5hbmNlIG92ZXIgdGhlIGltYWdlIDg0NDY3OC4gXHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcclxuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3BlY2lmaWMgc3R5bGVzIGZvciBwcm9kdWN0IGNvbGxlY3Rpb25zLlxyXG4gICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpO1xyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtY2FsbGJhY2stY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1ncm91cC1kZXNjcmlwdGlvbigpO1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24taW1hZ2UtYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZXMge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1idXR0b24tY29udGFpbmVycygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGVudCB0b3AsIGltYWdlIGJvdHRvbS5cclxuICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIEFzc3VtaW5nIGZpcnN0IGFuY2hvciBpcyB0aGUgaW1hZ2UsIGFzIG9yZGVyIGlzIG5vdCB1c2VkIG9uIGFueSBvZiB0aGUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIGNlbGwgdGhlbiB0aGlzIHdpbGwgZm9yY2UgdGhlIGltYWdlIHRvIHRoZSBib3R0b20uXHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDIsICdub24tY29tcGFjdCcpOztcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWluaWZpZWQsIHJlc3RyaWN0ZWQgaW1hZ2Ugc2l6ZS5cclxuICAgICYubWluaWZpZWQtbGF5b3V0IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoKTtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDExMHB4IDFmcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBc3N1bWUgdGhlIGZpcnN0IGFuY2hvciBpcyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiwgYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB5b3UncmUgYSBwcm9kdWN0IGNhcm91c2VsLlxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLy8gU2V0IGhlaWdodCB0byByZWFkIG1vcmUgY29udGVudCBmcm9tIHRha2luZyB1cCB0aGUgZW50aXJlIHBhZ2UgYXMgdGhlc2UgYXJlIG9mdGVyIGZ1bGwgQ01TIGVudHJpZXMuXHJcbiAgICAgICAgJjpoYXMoLnJlYWQtbW9yZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIGVCdXNzaW5lc3MgZ3JvdXAgc3BlY2lmaWMgc3R5bGluZy5cclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgd2UncmUgb25seSBzaG93aW5nIHRoZSBpbWFnZSwgc28gcmVtb3ZlIGFkZGl0aW9uYWwgcGFkZGluZyB0byBtYWtlIHRoZSBjZWxsIG1hdGNoIHRoZSBpbWFnZSBzaXplLlxyXG4gICAgICAgICAgICAmOmhhcyguZGVzY3JpcHRpb246ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBpcyBjYXVzaW5nIGJ1dHRvbiBhbGlnbm1lbnQgaXNzdWVzIHJlZ2FyZGluZyBmb3VuZGF0aW9uJ3MgZXF1YWxpemVyLlxyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAkY29sbGVjdGlvbi1lYmctY2VsbC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOmhvdmVyIC5kZXNjcmlwdGlvbiB7ICBcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUgLmRlc2NyaXB0aW9uIHsgIFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICRpbnZlcnQtZWJnLWNvbG91cnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBGb2xsb3cgcHJvZHVjdCBjZWxsIGJhY2tncm91bmQuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1wcm9kdWN0LWNlbGwtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tanVzdGlmeS1jb250ZW50IGFuZCAkaXMtZ3JpZC1jb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXMgYW5kICRpcy1ncmlkLWNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhPSAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0ICE9ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIGdyaWQgY29sbGVjdGlvbiB0aGVuIGRvbid0IGFwcGx5IGJhY2tncm91bmQgaW4gZGVmYXVsdCBzdGF0ZSwgaWYgdGhpcyBpcyBhIGNhcm91c2VsIHRoZW4gYXBwbHkgdGhlIGRlZmF1bHQgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTsgICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvOyAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1ob3Zlci1ib3gtc2hhZG93LXN1cHByZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gV29yayBvdXQgdGhlIGNvbnRlbnQgcGFkZGluZyBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gcGFkZGluZy5cclxuICAgICRjb250ZW50LXBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ25vbi1jb21wYWN0Jyk7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIFdoZW4gaW4gbW9iaWxlIGZpdC1jb250ZW50IGluY2FzZSB0aGVyZSBpcyBhIGJvcmRlciBhcHBsaWVkLCBpbiB0aGUgY29udGV4dCBvZiB3aWxkIHRoaW5ncyB0aGUgYm9yZGVyIHNob3VsZCB3cmFwIGFyb3VuZCB0aGUgY29udGVudCB3aXRob3V0IGEgZ3V0dGVyIFIgKyBMLCBTVVBQUkVTU0lORzogQXMgdGhpcyB3YXMgY2F1c2luZyBhbiBpbXBhY3Qgb24gcGFja2FnaW5nZGVwb3QgYW5kIG1pbGVzIGZvciBlZ2IgbW9kdWxlcyBub3QgZmlsbGluZyBjZWxsIHdpdGggYmFja2dyb3VuZCBjb2xvdXIsIGEgYmV0dGVyIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGp1c3QgY2VudGVyIHRoZSBjb250ZW50IHdpdGhpbiB0aGUgY2VsbCB1c2luZyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gRGVmYXVsdCB0byBmbGV4IGxheW91dC5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtYWxpZ246ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgLy8gU3VwcHJlc3MgdGhpcyBhcyBzb21lIGRlc2lnbnMgYWxsb3cgdGhlIGltYWdlIHRvIHRha2UgZnVsbCB3aWR0aCBvZiB0aGUgY2VsbCBhbmQgdGhlbiBpbmRlbnQgdGhlIGNvbnRlbnQuXHJcbiAgICAgICAgLy8gJi5wcm9kdWN0IHtcclxuICAgICAgICAvLyAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAmICsgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIC8vIEJhc2Ugc3R5bGVzIHRoYXQgZ2V0IHVzZWQgaW4gYWxsIGxheW91dHMgLyBkYXRhICggaS5lIHByb2R1Y3QsIGViZywgY21zIClcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZXMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkY29sbGVjdGlvbi10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLXRleHQtYWxpZ24gPT0gbGVmdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRjb2xsZWN0aW9uLXRleHQtYWxpZ24gPT0gcmlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWJ1eS1ib3gtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWJ1eS1ib3gtcGFkZGluZy10b3AgJGNvbnRlbnQtcGFkZGluZyBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZywgMSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA1cHg7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHN0b2NrIGluZGljYXRvcnMgaGF2ZSBiZWVuIGRpc2FiYWJlZCB0aGVuIGFkZCBzb21lIHNwYWNlIGJldHdlZW4gcHJpY2VzIGFuZCBidXR0b24ocykuXHJcbiAgICAgICAgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByaWNlcyArIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy93aWR0aDogNjYlO1xyXG4gICAgICAgICAgICB3aWR0aDogJGNvbGxlY3Rpb24tYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWJ1dHRvbnMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1pbmlmaWVkIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiwgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGlmKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWhvdmVyLXVuZGVybGluZSwgdW5kZXJsaW5lLCBub25lKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHlvdSBsYXlvdXQgY2xhc3NlcyBpbnN0ZWFkLlxyXG4gICAgICAgIC8vICYucHJvZHVjdCB7XHJcbiAgICAgICAgLy8gICAgIC5pbWFnZSBpbWcge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luOiAkY29sbGVjdGlvbi1wcm9kdWN0LWltYWdlLW1hcmdpbjtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoaXMgaXMgdHJhbnNwYXJlbnQganVzdCBpbmNhc2Ugd2UgaGF2ZSBhbnkgLnBuZyBiYW5uZXJzLlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZy1ib3R0b207XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgbm9uLWNvbXBhY3QpIDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLmdyb3VwLWRlc2NyaXB0aW9uICsgYTpoYXMoLmRlc2NyaXB0aW9uKSAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgd2FzIGNhdXNpbmcgaXNzdWUgd2hlbiBhcHBseWluZyBsYXlvdXQgc3R5bGluZywgd2hpY2ggd2FzIGNhdXNpbmcgdGhpcyBydWxlIHRvIGJlIHZlcnkgZGlmZmN1bHQgdG8gb3ZlcnJpZGUuXHJcbiAgICAgICAgICAgICAgICAvLyAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgbm9uLWNvbXBhY3QpO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gRmxpcCB0aGUgbG9naWMuXHJcbiAgICAgICAgICAgICAgICAmOmlzKDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgIH0gICBcclxuICAgIC5jb2xsZWN0aW9uLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0byBzY2FsZSB0aGUgaW1hZ2UgdG8gbWF4IGF2YWxpYWJsZSBzcGFjZSArIG1ha2Ugc3VyZSAuaW1hZ2UgaXMgYSBibG9jayBlbGVtZW50IG9yIGltYWdlIHdpbGwgZmFpbCB0byBkaXNwbGF5IG9uIEFwcGxlIGRldmljZXMuXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgd2FzIGNhdXNpbmcgdGhlIGVxdWFsaXNlciB0byBhc3NpZ24gaGVpZ2h0OiAwOyBmb3IgaU9TIGRldmljZXMgdXNpbmcgQ2hyb21lIG1vcmUgb24gdGhpcyBvbiA4NDI2ODcuXHJcbiAgICAgICAgLy8gQ2hhbmdlIHRvIGZpdC1jb250ZW50IGZvciBib3JkZXItcmFkaXVzIGVmZmVjdCBhcyB0aGlzIHdhcyBjdXQgb2ZmIGluIGNvbXBhY3QgdmlldywgY2Fubm90IHVzZSB0aGlzIGFzIENocm9tZSBvbiBpT1MgY2F1c2VzIHRoZSBlcXVhbGlzZXIgdG8gaW5jb3JyZWN0bHkgYXNzaWduIGhlaWdodDogMDtcclxuICAgICAgICAvLyBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgLy9ib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAvLyBTZXR0aW5nIG92ZXJmbG93IHRvIGVuc3VyZSBzcXVhcmVkIGltYWdlcyBkb24ndCBvdmVycmlkZSB0aGUgYm9yZGVyLXJhZGl1cyBvZiB0aGUgY2VsbCB3aGljaCB3aWxsIHJlc3VsdCBpbiBzcXVhcmVkIGVkZ2VzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwgYW5kIHJvdW5kZWQgYXQgdGhlIGJvdHRvbS5cclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgZmxleC1zaGluayBkdWUgdG8gaW1hZ2VzIGJlaW5nIHN0cmV0Y2hlZCBpbiBpZS5cclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkcHJvZHVjdC1saXN0LWdyaWQtbGFiZWwtdmFsdWUtYWxpZ21lbmVudDtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAvLyBBcyB3ZSBkb24ndCBrbm93IHRoZSBkZWZhdWx0IGNvbG91ciB1c2luZyBhIG5ldXRyYWwgY29sb3VyIGluc3RlYWQuXHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29sbGVjaXRvbi1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgLnNwZWNpZmljYXRpb24ge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvZGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sbGVjdGlvbi1jb2RlLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHByaWNlKHRydWUpO1xyXG4gICAgQGluY2x1ZGUgcnJwKCk7XHJcbiAgICBAaW5jbHVkZSBzYXZpbmcoKTtcclxuICAgIGZvcm0sIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgIH1cclxuICAgIC5hZGRUb0Jhc2tldC5pY29uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLy9IYW5kbGVzIHF1YW50aXR5IHNlbGVjdG9ycyB0aGF0IGFyZSBpbiB0aGUgY2Fyb3VzZWwuXHJcbiAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTcGVjaWZpY2FsbHkgZm9yIGtlZXBpbmcgdHlwb2dyYXBoeSBpbnN5bmMgYWNyb3NzIGNvbGxlY3Rpb25zIGFuZCB0YWJsZXMuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpIHtcclxuICAgIC5ncm91cC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWFycmFuZ2Utc2lkZSgpIHtcclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTcuNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBXaGVuIHNob3dpbmcgbXVsdGltZWRpYSBjb250ZW50IHJpZ2h0IG9yIGxlZnQgdGhlbiBhZGQgcGFkZGluZyBhYm92ZSB0ZXh0IGNvbnRlbnQgc28gdGhlIGZpcnN0IGl0ZW0gaXMgbm90IHJpZGluZyBvbiB0aGUgYm9yZGVyIG9mIHRoZSBjb250ZW50IGNvbnRhaW5lci5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1maXJzdC1pdGVtLXBhZGRpbmcoKSB7XHJcbiAgICAvLyBBc3N1bWUgdGhlcmUgd2lsbCBhbHdheXMgYmUgYW4gaW1hZ2UuXHJcbiAgICAmOmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAxLCAnY29tcGFjdCcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWdyb3VwLWRlc2NyaXB0aW9uKCkge1xyXG4gICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKSB7XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGZpdC1jb250ZW50IHdpbGwgZmlnaHQgYWdhaW5zdCBhc3BlY3QtcmF0aW8gcnVsZSBhcyBmaXQtY29udGVudCB3aWxsIHRyeSB0byBzaHJpbmsgdGhlIGNvbnRhaW5lciB3aGVuIHRoZSBwYWdlIGlzIGxvYWRpbmcgY2F1c2luZyBhIENMUyBpc3N1ZS5cclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWVkaXVtLXZhbHVlKCRjb2xsZWN0aW9uLWxheW91dC1zdHlsZS0xLWdyaWQtaW1hZ2UtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLXJlYWQtbW9yZS1jb250ZW50LWNvbnRhaW5lcigpIHtcclxuICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKSB7XHJcbiAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtYnV0dG9uLWNvbnRhaW5lcnMoKSB7XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3NiU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2l6ZS1mb3JtcygpIHtcclxuICAgIGZvcm0geyBcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tcm93LWNvbnRlbnQtb3JkZXIoJHJldmVyc2UtY29sdW1uczogZmFsc2UpIHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAvLyBJcyB0aGlzIGFuIEVCRz8gXHJcbiAgICAgICAgJi5lYmcge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIE1vdmluZyB0b3dhcmRzIGNvbnRhaW5pbmcgYWxsIGNlbGwgY29weSAvIGRldGFpbHMgLyBkYXRhIGludG8gb25lIGNvbnRhaW5lci5cclxuICAgICAgICBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDIsIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZW1vdmUgZ3JpZC1yb3cgYW5kIGp1c3QgbGV0IHRoZSBncmlkIGF1dG8gcGxhY2UgdGhlIHJlc3Qgb2YgdGhlIGl0ZW1zLlxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudW5pdC1vZi1tZWFzdXJlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5AbWl4aW4gY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKSB7XHJcbiAgICAvLyBtYXgtd2lkdGg6IDk4JTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpZiAoJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEZWZhdWx0IGNvbGxlY3Rpb24gYm9yZGVyLlxyXG5AbWl4aW4gY2Fyb3VzZWwtY29sbGVjdGlvbi11bmRlcmxpbmUoKSB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLXNsaWRlLWJvcmRlci13aWR0aDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gQmFza2V0IHN1bW1hcnkgc2VwZXJhdG9yIC0tLSBcclxuQG1peGluIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAvLyBTd2l0Y2hpbmcgdG8gdXNpbmcgYm9yZGVyIHByb3BlcnR5IGluc3RlYWQgb2Ygc2V0dGluZyBoZWlnaHQgYXMgZ2V0dGluZyB3ZWlyZCBpbmNvbnNpc3RhbmNpZXMgd2hlbiB0aGUgYnJvd3NlciByZW5kZXJzIHRoZSBydWxlcyBieSB+LjNweC4gaHR0cHM6Ly9qb2hucmVzaWcuY29tL2Jsb2cvc3ViLXBpeGVsLXByb2JsZW1zLWluLWNzcy9cclxuICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyO1xyXG59XHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zIC0tLS0tIFxyXG4vLyAtLS0gT24gcGFnZSAtLS0gXHJcbkBtaXhpbiBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJHBhZGRpbmc6ICgpLCAkbWFyZ2luOiAoKSwgJGZvbnQtc2l6ZTogMTRweCwgJGljb24tc2l6ZTogMTlweCkge1xyXG5cclxuICAgIC0tZm9udC1mYW1pbHk6ICN7JGZvbnRBd2Vzb21lU29saWR9O1xyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBJZiBjb250ZW50IGlzIGluIGEgY29udGFpbmVyIHRoZW4gZG9uJ3Qgd3JhcCAoIGVzc2VudGlhbGx5IGJhY2t3YXJkcyBzdXBwb3J0ICkuXHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXApO1xyXG4gICAgbWFyZ2luOiBpZihtYXAtaGFzLWtleSgkbWFyZ2luLCBwcmVzZXQtMSksIG1hcC1nZXQoJG1hcmdpbiwgcHJlc2V0LTEpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1tYXJnaW4sIHByZXNldC0yKSk7XHJcbiAgICBwYWRkaW5nOiBpZihtYXAtaGFzLWtleSgkcGFkZGluZywgcHJlc2V0LTEpLCBtYXAtZ2V0KCRwYWRkaW5nLCBwcmVzZXQtMSksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIHByZXNldC0xKSk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgQGlmICgkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCk7XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGljb24tc2l6ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFN0eWxlIHByZXNldHMuXHJcbiAgICAvLyBEZWZhdWx0IC8gUHJlc2V0LTEgYXJlIHRoZSBzYW1lIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBiZWZvcmUgcHJlc2V0IGNsYXNzZXMgd2VyZSBhIHRoaW5nLlxyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyBJbml0aWFsIGxheW91dCBmb3IgZnVsbCBwYWdlIG5vdGlmaWNhdGlvbnMgKCBlLmcgbm8gaXRlbXMgZm91bmQgaW4gbGlzdHMgKS5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIE1pbmlmaWVkIGxheW91dCwgd2l0aCBhbGlnbm1lbnQgbGVmdC5cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogaWYobWFwLWhhcy1rZXkoJHBhZGRpbmcsIHByZXNldC0yKSwgbWFwLWdldCgkcGFkZGluZywgcHJlc2V0LTIpLCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1wYWRkaW5nLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbXBhY3QgdmVyc2lvbiBvbiBwcmVzZXQtMSAoIGkuZSByZWR1Y2VkIHBhZGRpbmcgKSB0byBmaXQgd2l0aGluIFxyXG4gICAgJi5wcmVzZXQtMyB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHlwZSBwcmVzZXRzLlxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGRpc2FibGVkLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuICAgICYuaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGluZm9ybWF0aW9uLWNtcy1jb250YWluZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJY29uIHR5cGVzLlxyXG4gICAgJi5pY29uLW5vbi1yZXR1cm5hYmxlIHtcclxuICAgICAgICAtLWZvbnQtZmFtaWx5OiAjeyRleHByZXNzLWRlZmF1bHQtaWNvbnN9O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm9uLXJldHVybmFibGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVc2VkIHdoZW4gc2hvd2luZyB0ZWNobmljYWwgZXJyb3JzIHRvIHByZWZpeCB0aGUgYWN0dWFsIGVycm9yIGluIGEgZW5kIHVzZXIgZnJpZW5kbHkgZm9ybWF0LlxyXG4gICAgLnVzZXItZnJpZW5kbHktcHJlZml4IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyICggZmFsbGJhY2sgaWYgbm8gcHJlc2V0IGlzIGFzc2lnbmVkIClcclxuICAgID4gcCB7XHJcbiAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIC8vIEdvIHRvIGJlIGJhc2VsaW5lIG90aGVyIGFuY2hvcnMgd2lsbCBhcHBlYXIgb24gYSBkaWZmZXJlbnQgbGluZSBvbiBzb21lIGZvbnRzICggaS5lIGZ1bnRpbWUgKS5cclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIHNwYWNpbmctdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCwgMiwgbGFyZ2UpIGF1dG8gMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodCwgJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWxpbmUtaGVpZ2h0KTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lci5cclxuICAgID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogI3soJGljb24tc2l6ZSArIDUpfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSBcclxuXHJcbkBtaXhpbiBkaXNhYmxlZC1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBpbmZvcm1hdGlvbi1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgaW5mb3JtYXRpb24pO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbmZvLWNpcmNsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgaW5mb3JtYXRpb24pO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhbGVydC1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXJcclxuICAgICYgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgfSAgICBcclxufVxyXG5AbWl4aW4gd2FybmluZy1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgd2FybmluZyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lclxyXG4gICAgJiA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgIH1cclxufVxyXG5AbWl4aW4gc3VjY2Vzcy1jbXMtY29udGFpbmVyKCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgc3VjY2Vzcyk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyXHJcbiAgICAmID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDTVMgTWl4aW5zIC0tLS0tIFxyXG5AbWl4aW4gY21zLXRhYmxlKCkge1xyXG4gICAgcDpub3QoOmVtcHR5KSArIHRhYmxlLCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46ICRjbXMtdGFibGUtc2libGluZy1tYXJnaW47XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgJjpub3QoW2NsYXNzKj1wcmVzZXRdKSB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgXHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IHNldCB0aGUgY29sb3VyIGhlcmUgYXMgaXQgZ2V0cyBkaWZmaWN1bHQgdG8gb3ZlcnJpZGUgKCBpLmUgaW50ZXJuYWwgb25seSBkb2N1bWVudGF0aW9uICksIGluc3RlYWQgZWl0aGVyIHVzZSBwcmVzZXRzIG9yIHNldCB0aGUgZGVmYXVsdCBpbiBfc2V0dGluZ3Muc2NzcyAkdGFibGUtaGVhZC1mb250LWNvbG9yLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KFtjbGFzcyo9cHJlc2V0XSkge1xyXG4gICAgICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWhlYWRlci1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQgeyAgXHJcbiAgICAgICAgICAgIC8vIHRleHQtYWxpZ246ICRjbXMtdGFibGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPbmx5IGFwcGx5IHRoZSBnYXAgaWYgdGhlcmUgaXMgdGhlYWQgYmVmb3JlLlxyXG4gICAgICAgIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtaGVhZGVyLWJvZHktbWFyZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHsgICAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyBcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm5vLXdyYXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb21wYXJpc29uLXRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oJG1hcmdpbjogJHRib2R5LW1hcmdpbikge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRtYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWJsb2NrcXVvdGUoKSB7XHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtYmxvY2txdW90ZS1wYWRkaW5nKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJsb2NrcXVvdGUtZm9udC1zaXplKTtcclxuICAgICAgICBAaWYgKCRjbXMtYmxvY2txdW90ZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyhpbWcpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjbXMtYmxvY2txdW90ZS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIGJsb2NrcXVvdGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2NrcXVvdGUpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogJGNtcy1ibG9ja3F1b3RlLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLWJsb2NrcXVvdGUtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1ibG9ja3F1b3RlLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogLjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGNtcy1oZWFkaW5ncygpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDEpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDEpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGgxKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoMSk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDEpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGgxKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMSkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMSkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDIpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgyKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMik7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgyKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgyKSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgzKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDMpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgzKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMyk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDMpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg0IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDQpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg0KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNCk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDQpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGg0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg0KSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg1KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg1KSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDUpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGg1KTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoNSk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNSkpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNik7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNikpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDYpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg2KTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoNik7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDYpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDYpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY21zLXBhcmFncmFwaCgkZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWxpbmUtaGVpZ2h0LCAkZm9udC1zaXplOiAkY21zLXBhcmFncmFwaC1mb250LXNpemUpIHtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgJGNtcy1wYXJhZ3JhcGgtbWFyZ2luKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgIC8vIElmIGFuIGltYWdlIGlzIGJlbGxvdyAmIGxlZnQgYWxpZ25lZC5cclxuICAgICAgICAvLyBTd2l0Y2hpbmcgdG8gZW0ncyB0byBzY2FsZSBtYXJnaW4gd2l0aCBpbmxpbmUgZm9udCBzaXplLCB0aGlzIHdhcyBhIHByb2JsZW0gZm9yIENLRWRpdG9yNCB3aGVuIHRoZSBmbG9hdCBwcm9wZXJ0eSBpcyBhcHBsaWVkIHZpYSBpbmxpbmUgc3R5bGVzIHRvIHRoZSBpbWcgYWdhaW5zdCBhIHNpbmdsZSBsaW5lIHBpZWNlIG9mIHRleHQgd2hpY2ggd291bGQgY2F1c2UgdGhlIGxheW91dCB0byBicmVhay5cclxuICAgICAgICBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAmW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGFuIGltYWdlIGlzIGJlbGxvdyAmIHJpZ2h0IGFsaWduZWQuXHJcbiAgICAgICAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAmW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjbXMtbGlzdHMoJGZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1mb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0OiAkY21zLWxpc3QtbGluZS1oZWlnaHQsICRmb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSkge1xyXG4gICAgdWwsIG9sIHtcclxuICAgICAgICAvLyBMaXN0cyBzaG91bGQgYWx3YXlzIGlnbm9yZSBjb250YWluZXIgdGV4dC1hbGlnbiBhbmQgYmUgYWxpZ25lZCB0byB0aGUgbGVmdC5cclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1saXN0LW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgLy8gbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luOiAyNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbGlzdC1wYWRkaW5nLCA0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbGkge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzcyBhcyB3ZSdyZSB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gJjo6bWFya2VyIHtcclxuICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMy03O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB0aGlzIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIxMzY5ODQzL2lzLXRoZXJlLWEtd2F5LXRvLW1ha2UtbnVtYmVycy1pbi1hbi1vcmRlcmVkLWxpc3QtYm9sZFxyXG4gICAgb2wge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1saXN0LW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLWxpc3QtcGFkZGluZztcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICAgICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgICAgICAgICAgICAgICBvbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAvLyA+IHVsIGxpICsgbGkge1xyXG4gICAgICAgIC8vIG1hcmdpbi10b3A6ICRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gTWFrZSBzdXJlIGxpc3RzIGRvbnQgYnV0dCB1cCBhZ2FpbnN0IGhlYWRpbmdzLlxyXG4gICAgdWwgKyBoMSwgb2wgKyBoMSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgxXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoMiwgb2wgKyBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgyXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoMywgb2wgKyBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImgzXCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNCwgb2wgKyBoNCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg0XCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNSwgb2wgKyBoNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg1XCIpO1xyXG4gICAgfVxyXG4gICAgdWwgKyBoNiwgb2wgKyBoNiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLWhlYWRpbmctbWFyZ2luLCAzLCBcImg2XCIpO1xyXG4gICAgfVxyXG4gICAgZGwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtY29kZSgpIHtcclxuICAgIGNvZGUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY21zLWNvZGUtYmxvY2stcGFkZGluZyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1jb2RlLWJsb2NrLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29weS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29weS1idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBwYWRkaW5nICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2xpcGJvYXJkLWNvcHkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWFuY2hvcigpIHtcclxuICAgIGEge1xyXG4gICAgICAgIC8vIEF2b2lkIHN0eWxpbmcgaWYgdGhpcyBpcyBhIGJ1dHRvbi5cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0aGlzIGFzIGl0IHdhcyBnZXR0aW5nIGluIHdheSBvZiBhbmNob3IgaW5zaWRlIG9mIHRhYmxlcyB3aGVuIG5lc3RlZCBpbiBjbXMgY29udGVudC5cclxuICAgICAgICAvLyAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAmW2hyZWZePVwidGVsOlwiXSwgJltocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICAgICAgLy9jb2xvcjogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1hbmNob3ItY29udGFjdC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zaG93LWNvbnRhY3QtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gR2l2ZSB0aGUgYW5jaG9yIHNvbWUgYnJlYXRoaW5nIHJvb20gZnJvbSB0aGUgcmVzdCBvZiB0aGUgY29udGVudC5cclxuICAgIC8vIERvbid0IGFwcGx5IHRoZSBwYWRkaW5nIGlmIHRoaXMgaXMgYSBidXR0b24uXHJcbiAgICBwXHJcbiAgICBhIHtcclxuICAgICAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgICAkYW5jaG9yLWd1dHRlci1zcGFjaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgLy8gQXMgYSB0ZXN0IHRvIHN0cmluayBjb250ZW50IGkuZSBpbWFnZXMgZG93bi5cclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIC8vIENoYW5naW5nIHRvIHJvdyBpbmNhc2UgdGhlcmUgaXMgbWFya3VwIGluc2lkZSBvZiB0aGUgYW5jaG9yICggaS5lIHN0cm9uZyBmb3IgYXhpcyB2TWVyY2hhbnQgKVxyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6ICRhbmNob3ItZ3V0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIC8vcGFkZGluZzogJGFuY2hvci1ndXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYW5jaG9yLXdlaWdodDtcclxuXHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1pbWFnZSgpIHtcclxuXHQvLyBDa2VkaXRvciA1IHdyYXBzIGFsbCBpbWFnZXMgaW4gYSBmaWd1cmUgdGhlbiBhcHBsaWVzIGNsYXNzaW5nIGZvciBhbGlnbm1lbnQgaW5zdGVhZCBvZiBkaXJlY3RseSBhZGRpbmcgaW5saW5lIENTUywgd2hlbiBhIHBhZ2UgaXMgcmVuZGVyZWQgdGhlIENrZWRpdG9yJ3Mgc3R5bGVzaGVldCBpcyBub3QgbG9hZGVkIGluIG9ubHkgd2hlbiBpbiB0aGUgZWRpdG9yIGlzIGluaXRpYWxpc2VkLlxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICAvLyBJZiBDS0VkaXRvciBoYXMgYXNzaWduZWQgYSBhYnNvbHV0ZSB3aWR0aCBtYWtlIHN1cmUgaXQgZG9lc24ndCBleHBhbmQgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQgd2hlbiBpbiBtb2JpbGUuXHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAkY21zLWltYWdlLXNwYWNpbmc7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBDa2VkaXRvci5cclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBmaXQtY29udGVudCB0byBhbGxvdyBmb3IgdGhlIGNvbnRhaW5lciB0byBtYXRjaCB0aGUgaW1hZ2Ugd2lkdGggYnV0IHByZXZlbnQgdGhlIGNhcHRpb24gZnJvbSBleHBhbmRpbmcgZnVydGhlciB0aGFuIHRoZSBpbWFnZSB3aWR0aC5cclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjbXMtaW1hZ2Utc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGV4dCBmbG93IGFyb3VuZCB0aGUgaW1hZ2UuXHJcblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAvLyBNYXRjaCB0b3AgKyBib3R0b20uXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRjbXMtaW1hZ2Utc3BhY2luZywgMSk7XHJcblx0XHR9XHJcblx0XHQmLmltYWdlLXN0eWxlLWFsaWduLWxlZnQge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgLy8gTWF0Y2ggdG9wICsgYm90dG9tLlxyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKTtcclxuXHRcdH1cclxuICAgICAgICAvLyBUZXh0IGJyZWFrLlxyXG4gICAgICAgICYuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmW2NsYXNzKj1cImltYWdlLXN0eWxlLWJsb2NrXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMikpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWltYWdlLWdhbGxhcnkoKSB7XHJcbiAgICBkaXYuZ2FsbGFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgICAgICAmLmNlbGwtZ3V0dGVycyB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy15b3V0dWJlLXZpZGVvKCkge1xyXG4gICAgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9cIl0ge1xyXG4gICAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWdvb2dsZS1tYXBzLWVtYmVkZGVkKCkge1xyXG4gICAgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWRcIl0ge1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxufVxyXG4vLyBVc2VkIGZvciByZWFkIG1vcmUgdGV4dC5cclxuQG1peGluIHNpbXBsZS1mYWRlKCRvcGFjaXR5OiAkZGVmYXVsdC1mYWRlLW9wYWNpdHksICRmZWF0aGVyOiAkcmVhZC1tb3JlLWZlYXRoZXItZGVmYXVsdCkge1xyXG4gICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgJG9wYWNpdHksICRyZWFkLW1vcmUtZmFkZS1jb2xvdXIgJGZlYXRoZXIpXHJcbn1cclxuLy8gU3BlZWNoIGJ1YmJsZSBnZW5lcmF0b3IgKCBodHRwczovL3Byb2plY3RzLnZlcm91Lm1lL2J1YmJseS8gKS5cclxuLy8gJHNpZGU6IFwidG9wLCByaWdodCwgYm90dG9tLiBsZWZ0XCJcclxuQG1peGluIHNwZWVjaC1idWJibGUoJHNpZGU6IFwidG9wXCIsICRwb2ludGVyLXNpemU6IDVweCwgJGJvcmRlci1jb2xvdXI6ICRjb2xvdXI0LCAkYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZS1wb2ludGVyKCRzaWRlLCAkcG9pbnRlci1zaXplLCAkYm9yZGVyLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICgkcG9pbnRlci1zaXplIC0gMyksICRiYWNrZ3JvdW5kLWNvbG91ciwgdHJ1ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICRwb2ludGVyLXNpemUsICRib3JkZXItY29sb3VyLCAkaXMtaW50ZXJuYWwtYXJyb3c6IGZhbHNlKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcInJpZ2h0XCIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSAgPT0gXCJib3R0b21cIiB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBzY2FsZSBpbnRlcm5hbCBhcnJvdyBiYXNlZCBvbiB0aGUgdG9vbHRvcCBjb250ZW50IGJvcmRlci5cclxuICAgICAgICBib3JkZXItd2lkdGg6ICN7aWYoJGlzLWludGVybmFsLWFycm93LCAoJHBvaW50ZXItc2l6ZSArICgkdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aCAvIDIpKSwgJHBvaW50ZXItc2l6ZSl9cHg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIEBpZiAkc2lkZSA9PSBcInRvcFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tpZigkaXMtaW50ZXJuYWwtYXJyb3csICgkcG9pbnRlci1zaXplICsgKCR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoIC8gMikpLCAkcG9pbnRlci1zaXplKX1weDtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJsZWZ0XCIge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRib3JkZXItY29sb3VyOztcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3skcG9pbnRlci1zaXplfXB4O1xyXG4gICAgICAgIH1cclxufVxyXG5cclxuLy8gT3JkZXIgVGFibGUgc3R5bGVzICggdXNlZCBmb3IgYmFza2V0LCBjaGVja291dCBjb21wbGV0ZSAmIHZpZXcgb3JkZXIgKVxyXG5AbWl4aW4gb3JkZXItdGFibGUoKSB7XHJcbiAgICAvLyBHbG9iYWwgYmFza2V0IHRhYmxlIHByb3BlcnRpZXMuXHJcbiAgICB0ZCwgdGgge1xyXG4gICAgICAgICY6bm90KC5iYXNrZXQtZGVzY3JpcHRpb24tY29sKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHRkIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIHBhZGRpbmc6ICRvcmRlci1tb2JpbGUtcm93LXBhZGRpbmc7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJi5yZWFkLW9ubHkge1xyXG4gICAgICAgIC8vIHRkLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogNjtcclxuICAgICAgICAgICAgLy8gLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDc7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLmFkZC10by1iYXNrZXQtY29sIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IDg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAvLyAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuYmFza2V0LXF1YW50aXR5IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyB3aWR0aCBzbyBvcHRpb25hbCBleHRyYSdzIHdpdGhvdXQgYW4gaW1hZ2UgdGhlIGRlc2NyaXB0aW9ucyBob2xkcyBpbiBwbGFjZS5cclxuICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2Fubm90IHByZXZlbnQgaGVpZ2h0IGR1ZSB0byBuZWVkaW5nIHRvIHN1cHBvcnQgcmVjdGFuZ2xlIGltYWdlcy5cclxuICAgICAgICAgICAgICAgICAgICAvL2hlaWdodDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRvcmRlci10YWJsZS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIgc3BhbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRG9udCBzZXQgYSBhYnNvbHV0ZSB3aXRoIG90aGVyd2lzZSB0aGlzIHdpbGwgbm90IHNjYWxlIHdlbGwuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICBtaW4td2lkdGg6IDQwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpO1xyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYmFza2V0LWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1kZXNjcmlwdGlvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgIC5zdG9ja1dhcm5pbmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkY29sb3VyMy0zLCAwLjYpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuc3Vic2lkaWFyeS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0Ym9keS1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBub24tcmV0dXJuYWJsZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSk7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCB7XHJcbiAgICAgICAgLy8gd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgLy8gb3JkZXI6IDM7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkb3JkZXItdGFibGUtY29kZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXByaWNlLWNvbCwgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkb3JkZXItdGFibGUtcHJpY2UtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmF0LXJhdGUtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICB0ZC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkb3JkZXItdGFibGUtcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hZGQtdG8tYmFza2V0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG9yZGVyOiA1O1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsZXMgZm9yIHRoZSBmcmVlIHRleHQgcXVhbnRpdHkgc2VsZWN0b3IuXHJcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1Yi10b3RhbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTElO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1zdWItdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRvcmRlci10YWJsZS1zdWItdG90YWwtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1yZW1vdmUtY29sIHsgIFxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGJhc2tldEJvZHlSZW1vdmVDb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBmb3IgZ2VuZXJpYyAucmVtb3ZlLWJ1dHRvbiBpbiBfdGFibGVzLnNjc3MuXHJcbiAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICAvLyAgICAgZm9udC1zaXplOiAoJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZSAvIDQpO1xyXG4gICAgICAgIC8vICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiBtYXAtZ2V0KCRvcmRlci10YWJsZS1yZW1vdmUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyAmOmhvdmVyIHtcclxuICAgICAgICAvLyAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRyb1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vICY6YWN0aXZlIHtcclxuICAgICAgICAvLyAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAvLyAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm9cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5iYXNrZXRVcGRhdGVSb3cge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmFza2V0SGVhZEJvcmRlckNvbG91cjtcclxuICAgIH1cclxuICAgIC5iYXNrZXQtaXRlbS1yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLy8gV2UgdXNlZCB0byBub3QgdXNlIGdyaWQgbGF5b3V0IGR1ZSB0byBJRSBzdXBwb3J0IGJ1dCBhcyB3ZSBubyBsb25nZXIgc3VwcG9ydCBJRSB0aW1lIHRvIG1ha2Ugb3VyIGxpZmUncyBlYXNpZXIhLlxyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgMiBjb2x1bW4gYXJyYW5nZW1lbnQuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0YW5kYXJkIHN0eWxlcyBhZGRlZCB0byBtZW51IGRyb3Bkb3ducy5cclxuQG1peGluIGRyb3Bkb3duLWZvb3Rlcigkc3VwcHJlc3MtcGFkZGluZzogZmFsc2UpIHtcclxuICAgIEBpZiBub3QgKCRzdXBwcmVzcy1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRtb2JpbGUtbWVudS1mb290ZXItcGFkZGluZy1ib3R0b207IFxyXG4gICAgfVxyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXItYm9yZGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZHJvcGRvd24tZm9vdGVyLWJvcmRlcigpIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLWNvbG91cjtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRtZW51LWZvb3Rlci1ib3JkZXItYm90dG9tLXNpemUgMDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbn1cclxuXHJcbi8vIE1lbnUgaG92ZXIgaWNvbiAvIGlzLXN1Ym1lbnUtcGFyZW50LlxyXG5AbWl4aW4gbWVudS1pdGVtLXByZWZpeC1pY29uKCkge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lZ2EtbWVudS1saW5rLWljb24pO1xyXG4gICAgICAgIGhlaWdodDogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIEFsd2F5cyBzaG93IGFycm93cyBpbiBtb2JpbGUuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtbGluay1pY29uLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkc3Bpbm5lci1jb2xvdXI6ICRjb2xvdXI0KSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZSAtICgkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgKiAyKTtcclxuICAgICAgICBoZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemUgLSAoJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItd2VpZ2h0ICogMik7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgc29saWQgcmdiYSgkc3Bpbm5lci1jb2xvdXIsIC4yKTtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgc29saWQgJHNwaW5uZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgMHM7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluIC43cyBjdWJpYy1iZXppZXIoMC41NjAsIDAuMTEwLCAwLjIyMCwgMC44NjUpIDBzIGluZmluaXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAvLyBhbmltYXRpb24ga2V5ZnJhbWVzXHJcbiAgICBAa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgICAgIGZyb20gIHsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcbiAgICAgICAgdG8gICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEluIG1vYmlsZSB0aGUgdG9nZ2xlIGJhciB0cmlnZ2VycyB0aGluZ3MgbGlrZSBiYXNrZXQsIHNlYXJjaCAmIHNpdGUgbmF2aWdhdGlvbiwgdGhpcyBpcyB0aGUgZ2VuZXJpYyBzdHlsZXMgdGhvc2UgbWVudSdzIC8gcG9wdXBzIHVzZS5cclxuQG1peGluIGhlYWRlci1tb2JpbGUtbWVudSgpIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgei1pbmRleDogJGhlYWRlci1tb2JpbGUtbWVudS16LWluZGV4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8gQnVpbGQgY29sb3VyIHBhbGxldGUgdG9uZXMuXHJcbkBtaXhpbiBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoJGNvbG91ci1uYW1lLCAkY29sb3Vycykge1xyXG4gICAgLy8gQ2hlY2sgaWYgdmFyaWFibGUgZXhpc3QuXHJcbiAgICBAaWYgbm90ICh2YXJpYWJsZS1leGlzdHMoJGNvbG91ci1uYW1lKSkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbG91ciBtYXAgXCIgI3skY29sb3VyLW5hbWV9IFwiIGRvZXNuJ3QgZXhpc3QgZm9yIHNpdGUgI3skc2l0ZX1cIjtcclxuICAgIH1cclxuICAgIEBlYWNoICRsaWdodG5lc3MsICRjb2xvdXIgaW4gJGNvbG91cnMge1xyXG4gICAgICAgIC0tI3skY29sb3VyLW5hbWV9LWxpZ2h0bmVzcy0jeyRsaWdodG5lc3N9OiAjeyRjb2xvdXJ9O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZWdhIG1lbnUgcGFyZW50IGxldmVsIDIgc3R5bGVzLlxyXG5AbWl4aW4gbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKSB7XHJcbiAgICA+IGEge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZykgIT0gJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gXCJub25lXCIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVnYSBtZW51IHJvb3QgcGFyZW50IGRyb3Bkb3duIGFycm93cy5cclxuQG1peGluIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRkZWZhdWx0LWNvbG91ciwgJGhvdmVyLWNvbG91cikge1xyXG4gICAgJjpob3ZlciA+IGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gNHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVG9vbHRvcCBjb250ZW50IGNvbnRhaW5lciBwb3NpdGlvbmluZywgdGhpcyBnZXRzIGNhbGxlZCBpZiB0aGUgY29udGVudCBnZXRzIHdyYXBwZWQgaW4gYWRkaXRpb25hbCBjb250YWluZXIocylcclxuQG1peGluIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpIHtcclxuICAgIHdpZHRoOiAkdG9vbHRpcC1jb250ZW50LWNvbnRhaW5lci13aWR0aDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4vLyBWaWRlbyBwbGF5IGljb24gb3ZlcmxheS5cclxuQG1peGluIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uKTtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gQWRkIHNsaWdodCBzaGltIGR1ZSB0byBmbGV4Ym94IG5vdCBqdXN0aWZ5aW5nIHBlcmZlY3RseSBjZW50ZXIuXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZCl9KTs7XHJcbiAgICAgICAgYm9yZGVyOiAjeyR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYm9yZGVyLXdpZHRofSBzb2xpZCB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFZpZGVvIHJlcGxheSBpY29uIG92ZXJsYXksIHRoaXMgd2FzIGltcGxlbWVudGVkIGFmdGVyIHRoZSB2aWRlby1wbGF5LWljb24gcnVsZXMsIGluIGhpbmRzaWdodCB0aGlzIGNvdWxkIGJlIG1ha2UgbW9yZSBtb2R1bGFyLlxyXG5AbWl4aW4gdmlkZW8tcmVwbGF5LWljb24tb3ZlcmxheSgpIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci1yZXBsYXktdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pOztcclxuICAgICAgICBib3JkZXI6ICN7JHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBmb250LWZhbGxiYWNrKCRuYW1lLCAkZmFsbGJhY2ssICRtZXRyaWNzKSB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJyN7JG5hbWV9IEZhbGxiYWNrJztcclxuICAgICAgICBzcmM6IGxvY2FsKCcjeyRmYWxsYmFja30nKTtcclxuICAgICAgICBzaXplLWFkanVzdDogbWFwLWdldCgkbWV0cmljcywgc2l6ZS1hZGp1c3QpO1xyXG4gICAgICAgIGFzY2VudC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgYXNjZW50LW92ZXJyaWRlKTtcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBkZXNjZW50LW92ZXJyaWRlKTtcclxuICAgICAgICBsaW5lLWdhcC1vdmVycmlkZTogbWFwLWdldCgkbWV0cmljcywgbGluZS1nYXAtb3ZlcnJpZGUpO1xyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJHVuaXQtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gZGl2aWRlKCRudW0sICRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQGlmICR1bml0LXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gZGl2aWRlKCR2YWx1ZSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy41XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gLS0tLS0gVGFibGUgU3R5bGVzIC0tLS0tIFxyXG4vLyAtLS0gVGFibGUgSGVhZCAtLS0gXHJcbi50YWJsZS1mb290ZXItc3BhY2VyIHtcclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbGFyZ2UtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBsYXJnZS12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBociB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0IHNvbGlkICRoZWFkaW5nLXJ1bGUtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcbnRhYmxlIHtcclxuXHJcbiAgICAtLWJvcmRlci1jb2xvdXI6ICN7ZGVmYXVsdC1jb2xvdXIoJHRib2R5LXJvdy1ib3JkZXItY29sb3VyKX07XHJcbiAgICAtLWJvcmRlci1ob3Zlci1jb2xvdXI6ICN7aG92ZXItY29sb3VyKCR0Ym9keS1yb3ctYm9yZGVyLWNvbG91cil9O1xyXG5cclxuICAgIC8vIFNldHRpbmcgaGVpZ2h0IHByb3BlcnR5IHRvIGFsbG93IGZvciA8ZGl2PidzIGluc2lkZSBvZiA8dGQ+J3MgdG8gc3BhbiBmdWxsIGhlaWdodCwgZm9yIG1vcmUgYWJvdXQgdGhpcyBjaGFuZ2UgcGxlYXNlIHNlZSBLYXBlcnN0b25lJ3MgY29tbWVudCBoZXJlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzMyMTU1NTMvbWFrZS1hLWRpdi1maWxsLWFuLWVudGlyZS10YWJsZS1jZWxsXHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gT3ZlcnJpZGUgZm91bmRhdGlvbiwgd2hlbiBzZXR0aW5nIHNtb290aC1lZGdlcyB0aGUgJGdsb2JhbC1yYWRpdXMgdmFsdWUgZ2V0cyBzZXQgdGhpcyBjcmVhdGUgYSB3ZWlyZCBlZmZlY3QgaW4gbW9kdWxlIGNhdXNpbmcgdGhlIHRkJ3MgYm9yZGVyIHRvIG92ZXJmbG93IHRoZSByYWRpdXMuXHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgJi5zdHJpcGVkIHtcclxuICAgICAgICB0ciB7IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgICAgICAvLyBFbnN1cmUgYmFja2dyb3VuZC1jb2xvciBnZXRzIHJlbmRlcmVkIGluIHByaW50IG1vZGUuXHJcbiAgICAgICAgICAgIC8vIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgICAgICAgICAvLyAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBmb3IgY2FsbCBwb3J0YWwgZGVzaWduLlxyXG4gICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCBydWxlcyB0byB0aGUgYm90dG9tIG9mIGVhY2ggcm93LlxyXG4gICAgJi5zaG93LWJvcmRlci1ib3R0b20ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7KCR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmcgKiAyKX07XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaG92ZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNob3cgYm9yZGVycyBhcm91bmQgZW50aXJlIHRhYmxlICYgY2VsbHMuXHJcbiAgICAmLnNob3ctYm9yZGVycyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNob3cgb25seSBpbnRlcm5hbCBib3JkZXJzLlxyXG4gICAgJi5zaG93LWludGVybmFsLWJvcmRlcnMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJhc2ljYWxseSB0cmVhdCB0aGUgZmlyc3QgY29sdW1uIGxpa2UgYSB2ZXJ0aWNhbCB0aGVhZC5cclxuICAgICYuaGlnaGxpZ2h0LWZpcnN0LWNvbHVtbiB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBHZW5lcmFsIHN0eWxlcyB1c2VkIGFjcm9zcyB0aGUgc2l0ZS5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHRhYmxlLXByZXNldC0xLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCR0YWJsZS1wcmVzZXQtMS1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCwgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucm93LXNwYWNpbmcge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICN7KCR0Ym9keS1tYXJnaW4gLSAoc3BhY2luZy12YWx1ZSgkdGJvZHktcm93LWJvcmRlci1zcGFjaW5nLCAyKSAqIDIpKX07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtaGVhZGVyLWJvZHktbWFyZ2luKCk7XHJcbiAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCBzcGFjaW5nLXZhbHVlKCR0aGVhZC1wcmVzZXQtMSwgMiwgcGFkZGluZyk7IFxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaW1hZ2UtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGJvZHktYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpub3QoLnBkZi1kb3dubG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2VkIHByaW1hcmlseSBpbiB0aGUgYmFza2V0LlxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQ1cHggMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICR0Ym9keS1tYXJnaW47XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgIC8vIFVzZWQgcHJpbWFyeSBpbiB0aGUgYWNjb3VudCBhcmVhLlxyXG4gICAgJi5wcmVzZXQtMyB7XHJcbiAgICAgICAgdGQsIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweCBzcGFjaW5nLXZhbHVlKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBwYWRkaW5nKSwgMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3ctYWRkaXRpb25hbC1wYWRkaW5nIHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgLy8gRG9uJ3QgbmVlZCB0byBkbyB0aGlzIGZvcm0gbW9iaWxlIGR1ZSB0byByZXNwb25zZS10YWJsZSBjbGFzcy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHRib2R5LW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQsIHRoIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0Ym9keS1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBCZWNhdXNlIHRoZXJlIGlzIG5vIG90aGVyIGVhc3kgd2F5IHRvIGFkZCBhIG1hcmdpbiBiZXR3ZWVuIHRoZSB0YWJsZSByb3dzIHdpdGggb3V0IGFkZGluZyBtYXJrdXAuXHJcbiAgICAmLnJvdy1zcGFjaW5nIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAkdGJvZHktcm93LWJvcmRlci1zcGFjaW5nO1xyXG4gICAgICAgICY6aGFzKC5yb3ctaW5wdXQtdG9nZ2xlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHNwYW4uY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgZm9yIHVwbG9hZCBjc3YgdGFibGUgIzc2NzIzOS5cclxuICAgICAgICAvLyB0ZCB7XHJcbiAgICAgICAgLy8gICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICAvLyAgICAgPiBzcGFuIHtcclxuICAgICAgICAvLyAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIElmIG5vIGltYWdlIGFsaWduIGFsbCB0ZXh0IGJhc2VsaW5lLlxyXG4gICAgdGQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgIH1cclxuICAgIC8vIEVsc2UgdmVydGljYWwgYWxpZ24gY2VudGVyIG90aGVyd2lzZSBtdWx0aS1saW5lIHRleHQgd2lsbCBiZSBwaW5uZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcm93LlxyXG4gICAgJjpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIHRkLm5vLXBkZi1kb3dubG9hZCB7XHJcbiAgICAgICAgc3Bhbi50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKCRwZGYtdGFibGUtYW5jaG9yLW1hcmdpbiArICgkZmlsZS1pY29ucy1zaXplIC8gMS4zKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLnBkZi1kb3dubG9hZCB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIC8vIEZvciBtb2JpbGUgdmlldyBzbyBidXR0b25zIGRvbid0IGFwcGVhciBvbiBhIG5ldyBsaW5lLlxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIFxyXG4gICAgdHIge1xyXG4gICAgICAgIC8vIFN1Y2Nlc3NcclxuICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFdhcm5pbmcuXHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbGVydFxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEVycm9yIHJvdy5cclxuICAgICAgICAmLmVycm9yLXJvdywgJi5lcnJvciB7XHJcbiAgICAgICAgICAgIC8vIEhhdmluZyB0byBvdmVycmlkZSBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgdHIuZXJyb3Itcm93LCAmICsgdHIuZXJyb3Ige1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEV4cGlyZWQuXHJcbiAgICAgICAgJi5jYXJkLWV4cGlyZWQsICYuZXhwaXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZW1vdmUtY29sLCAuZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhlIHJvdyBjYW4gYmUgdXNlZCB0byBjaGVjayBhIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbi5cclxuICAgICAgICAmLnJvdy1pbnB1dC10b2dnbGUge1xyXG4gICAgICAgICAgICAvLyBIYXZpbmcgdG8gdXNlIGJveC1zaGFkb3cgZHVlIHRvIG5lZWRpbmcgdG8gdXNlIGJvcmRlci1jb2xsYXBzZSAmIGJvcmRlci1zcGFjaW5nIHRvIGdldCBnYXAgYmV0d2VlbiByb3dzLlxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjeyR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aH0gdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkLCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI3skdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGh9IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI3skdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGh9IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAvLyBBbHdheXMgbWFrZSBzdXJlIGNvbnRlbnQgaXMgdmlzaWJsZSBvbiBob3Zlci5cclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1Y2Nlc3MtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmFpbGVkLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmFpbGVkLXJlYXNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZhaWxlZC1pY29uLCAuc3VjY2Vzcy1pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vcmRlci10b3RhbC1jb2wsIHRoLmNzdi1pbXBvcnQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcclxuICAgICAgICAvLyAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5hZGRyZXNzLWJsb2NrIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5jYXJkLXR5cGUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcGF5bWVudC1jYXJkKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtY2FyZC10eXBlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4cGlyZWQtdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAmLnN0YXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDlweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG50aGVhZCB7XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCByb3ctYm9yZGVyKTsgXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LWFsaWduKTsgXHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC10cmFuc2Zvcm0pO1xyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpOyBcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgdGV4dC10cmFuc2Zvcm0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoW2NsYXNzJD1kZXNjcmlwdGlvbi1jb2xdIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKyB0Ym9keSAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmYXVsdC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgY29sb3IpO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgcm93LWJvcmRlcik7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgQGlmICgkdGhlYWQtdGgtY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkdGhlYWQtdGgtY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29tcGFyaXNvbi10YWJsZS1idXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTM7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5bY29tcGFyaXNvbi10YWJsZV0ge1xyXG4gICAgLmNvbXBhcmlzb24tdmFsdWVzIHRkK3RkLCB0aCt0aCB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhlYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlcjogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXZhbHVlcy1ib3JkZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjbXMtdGFibGUtY29sdW1uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xyXG4gICAgICAgICAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsaWduLXZhbHVlLXJpZ2h0IHtcclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29tcGFyaXNvbi1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29tcGFyaXNvbi1jdXJyZW50bHktc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0Ym9keS5jb21wYXJpc29uLXN1bW1hcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29tcGFyaXNvbi1jb2x1bW4taGVhZGluZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHNwYWNpbmctdmFsdWUoJHRib2R5LXJvdy1ib3JkZXItc3BhY2luZywgMikgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb2x1bW4tZW1wdHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGlzIHRhYmxlIGhhcyBhIGltYWdlLWNvbHVtbiwgdGhlbiB1c2UgdGhlIGdyaWQgbGF5b3V0IGluIG1vYmlsZS5cclxuICAgICY6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBjb2x1bW4gaGFzIGEgbGFiZWwgKyB2YWx1ZSB0aGVuIHNwbGl0IGl0IGludG8gdHdvIGNvbHVtbiBhcnJhbmdlbWVudC5cclxuICAgICAgICAgICAgICAgICY6aGFzKC5jb2wtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICAgICAgICAgICY6aGFzKC5jb2wtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSA3MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSByb3cgaW50byBncmlkIHZpZXcuXHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1JSAxZnI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQW55IHRkIHRoYXQgaXMgbm90IHRoZSBpbWFnZSB0ZCBtb3ZlIHRvIDIgY29sdW1uLlxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBjb2x1bW4gaGFzIGEgbGFiZWwgKyB2YWx1ZSB0aGVuIHNwbGl0IGl0IGludG8gdHdvIGNvbHVtbiBhcnJhbmdlbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAmOmhhcyguY29sLWxhYmVsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIGNoZWNrYm94ZXMgdG8gdmVydGljYWxseSBhbGlnbiBjZW50ZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbltyZXNwb25zaXZlLXJldmVhbF0ge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmICsgdGFibGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkcGFkZGluZy1pdGVtLXk6IDE4cHg7XHJcbiAgICAkcGFkZGluZy1pdGVtLXg6IDIwcHg7XHJcbiAgICAucmVzcG9uc2l2ZS10YWJsZS1pdGVtIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpIHNvbGlkIG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpIHNvbGlkIG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0ICkgc29saWQgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1vcGVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICN7JHBhZGRpbmctaXRlbS15fTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBcyB3ZSdyZSBub3cgcmV2ZWFsbGluZyBjb250ZW50IHNob3cgYW55IG92ZXJmbG93aW5nIHRleHQuXHJcbiAgICAgICAgICAgIC5lbGxpcHNpcy10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogI3skcGFkZGluZy1pdGVtLXl9ICN7JHBhZGRpbmctaXRlbS14fTtcclxuICAgICAgICAmOmhhcygudW5yZWFkLWNvbCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtY2xvc2VkKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgc3BhY2UgZm9yIHRhcCBhcmVhIGluIG1vYmlsZS4gXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1zdGF0dXMtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBwYWRkaW5nOiAwICN7JHBhZGRpbmctaXRlbS15fTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC5jb250ZW50LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAmLnN0YXRlLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLXNvcnQtY29sIHtcclxuICAgICYuYXNjZW5kIGJ1dHRvbjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtc29ydC1hc2NlbmQpO1xyXG4gICAgfVxyXG4gICAgJi5kZXNjZW5kIGJ1dHRvbjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtc29ydC1kZXNjZW5kKTtcclxuICAgIH1cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgLy8gRm9yIGljb24gYWxpZ25tZW50LlxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpOztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdGhlYWQtc29ydGluZy1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7IFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNb3ZpaW5nIGhvdmVyIHN0YXRlIHRvIHRkIHRvIGFsbG93IGZvciBncmVhdGVyIGhpdCBhcmVhLlxyXG50ZC5ub3RpZmljYXRpb24tY29sIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAvL2JvcmRlci13aWR0aDogMCAwIDAgbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgLjE4KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItd2lkdGggJHRyYW5zaXRpb25JbnRybywgbGVmdCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udW5yZWFkLWNvbCB7XHJcbiAgICAvLyBUcnlpbmcgdG8gYmUgc2VtaSBjb21wbGllbnQgd2l0aCBsaWdodGhvdXNlJ3MgZXhwZWN0YXRpb24gaW50ZXJtcyBvZiB0YXAgYXJlYSAoNDh4NDgpIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZG9jcy9saWdodGhvdXNlL3Nlby90YXAtdGFyZ2V0c1xyXG4gICAgd2lkdGg6IDQ4cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLXJvdy1ub3RpZmljYXRpb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLy8gJjpob3ZlciB7XHJcbiAgICAvLyAgICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuICAgIC8vICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgICAgICAgdG9wOiAwO1xyXG4gICAgLy8gICAgICAgICBsZWZ0OiAwO1xyXG4gICAgLy8gICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgIC8vICAgICAgICAgYm94LXNoYWRvdzogNHB4IDBweCA4cHggM3B4IHJnYmEoMTIsIDEyLCAxMiwgLjE4KTtcclxuICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICBjdXJzb3I6IHRleHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uT3V0cm8sIGxlZnQgJHRyYW5zaXRpb25PdXRybyBlYXNlLWluLW91dDtcclxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbnRlbnQgc3BlY2lmaWMgc3R5bGVzLlxyXG50YWJsZSB7XHJcbiAgICAmLnJldXNhYmxlLWNhcmQtdGFibGUge1xyXG4gICAgICAgIC8vIFNwZWNpZmljYWxseSBpbiB0aGUgY29udGV4dCBvZiBwYXltZW50LlxyXG4gICAgICAgICYucGF5bWVudCB7XHJcbiAgICAgICAgICAgIC5yZW1vdmUtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhpZGUgdGhlIHNlbGVjdCByb3cgaW5mYXZvdXIgb2YgY2xpY2tpbmcgb24gdGhlIHJvdyB0byBwcm9ncmFtYXRpY2FsbHkgdG9nZ2xlIHRoZSBjaGVja2JveCAvIHJhZGlvLlxyXG4gICAgICAgIHRoLnNlbGVjdC1jb2wsIHRkLnNlbGVjdC1jb2wge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW52YWxpZC1iYXNrZXQtdGFibGUge1xyXG4gICAgICAgIC8vIEtlZXAgdGFibGUgaW5saW5lIHdpdGggdGhlIHRleHRkYiBlbnRyeSBhYm92ZS5cclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3soc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIpICogMil9KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3soc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIsIGxhcmdlKSAqIDIpfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWZlcmVuY2UtY29sLCAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDg1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudXBkYXRlZC1jb2wsIC51cGRhdGVkLWJ5LWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY2Vzcy1sZXZlbC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hdWRpdC10cmFpbC1lbnRyeSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMi41cHggNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmV2aXNpb24tY29se1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnVwZGF0ZWQtYnktY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVwZGF0ZWQtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnB1Ymxpc2hlZC1jb2wsIC5hY2Nlc3MtbGV2ZWwtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB7XHJcbiAgICAgICAgLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgICAgICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICYgKyAubmVzdGVkLXRhYmxlLXJvdyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJiA+IHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZvbGRlci1maWx0ZXJzLXRhYmxlIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGFibGUgY29udGVudHMgc2Nyb2xsIGJlaGF2aW91ci5cclxuLnRhYmxlLWNvbnRhaW5lciB7XHJcbiAgICAkc2hhZG93LWNvbG91cjogcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgLy8gQ29tbW9uIHNjcm9sbCBydWxlcy5cclxuICAgICYudGFibGUtc2Nyb2xsLWVuYWJsZWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCByb3ctYm9yZGVyKTsgLy8gbG9ja2luZyB0byBwcmVzZXQtMSBhcyB0aGF0IHNlZW1zIHRvIGJlIHdoYXQgd2UgY29tbW9ubHkgdXNlLlxyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEhlYWRlciBib3gtc2hhZG93IHdoZW4gc2Nyb2xsaW5nIC8gc2Nyb2xsIGF0IGJvdHRvbS5cclxuICAgICYuc2Nyb2xsLW1pZGRsZSwgJi5zY3JvbGwtYXQtYm90dG9tIHtcclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggOXB4IC0xcHggI3skc2hhZG93LWNvbG91cn07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250YWluZXIgYm90dG9tIHNoYWRvdy5cclxuICAgICYuc2Nyb2xsLW1pZGRsZSwgJi5zY3JvbGwtYXQtdG9wIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggI3skc2hhZG93LWNvbG91cn07XHJcbiAgICB9XHJcblxyXG4gICAgJi5zY3JvbGwtbWlkZGxlIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwcHggMTBweCAtMTBweCAjeyRzaGFkb3ctY29sb3VyfSwgaW5zZXQgMCAtMTBweCAxMHB4IC0xMHB4ICN7JHNoYWRvdy1jb2xvdXJ9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRhYmxlIHNwZWNpZmljIHJ1bGVzLlxyXG4gICAgJi5hdWRpdC10cmFpbC1lbnRyaWVzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIG90aGVyIG1hcmdpbidzIGltcG9zZWQgYnkgU0FTUyBjb25maWcgYXMgdGhlIHRhYmxlIGlzIGluIHRoZSBjb250YWluZXIgd2l0aCBhIHNjcm9sbGJhciB1cCB0aGUgc2lkZSBsb29rcyB3ZWlyZC5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAvLyBNYWtlIHRhYmxlIGNvbHVtbiBoZWFkIHN0aWNrLlxyXG4gICAgdGhlYWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCByb3ctYm9yZGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tIElucHV0cyAtLS0tIFxyXG4tIFN0eWxpbmcgZm9yIGZvcm0gaW5wdXRzICggc2VsZWN0LCBpbnB1dCwgdGV4dGFyZWEgKVxyXG4tIFF1YW50aXR5IHNlbGVjdG9yc1xyXG4tIEZvcm1zXHJcbiAgLSBGaWVsZHNldHNcclxuICAtIEZpZWxkc1xyXG4tIFZhbGlkYXRpb25cclxuICAtIEZvcm0gZXJyb3JzIGZyb20gdGhlIHNlcnZlclxyXG4gIC0gQWR2YW5jZWQgdmFsaWRhdGlvbiAoIHNldHRpbmcgcGFzc3dvcmQgKVxyXG4tIFByaW1hcnksIFNlY29uZGFyeSwgRXRjIGJ1dHRvbnMgdXNlZCB0aHJvdWdob3V0IHRoZSBzaXRlLlxyXG4tIFVJIGJsb2NrIHBhbmUuXHJcbiovXHJcblxyXG4vLyAtLS0tLSBGb3JtcyAtLS0tLS0gXHJcbmZvcm0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLS0tLS0gQnV0dG9ucyAtLS0tLSBcclxuLy8tLS0gU3VibWlzc2lvbiAtLS1cclxuZm9ybS5pcy1pbnZhbGlkIHtcclxuICBidXR0b25bdHlwZT1zdWJtaXRdLCAuZm9ybS1zdWJtaXQtYnV0dG9uIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICB9XHJcbiAgXHJcbn1cclxuLy8gLS0tIEdlbmVyYWwgYnV0dG9uIHN0eWxlcyAtLS1cclxuYnV0dG9uIHtcclxuICAmOmRpc2FibGVkLCAmLmRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPXN1Ym1pdF0ge1xyXG4gICY6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAmOmZvY3VzOjotbXMtdmFsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgfVxyXG59XHJcbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xyXG4gIC5jb250cm9sLnRleHQge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAobGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKSAtIDcwKTtcclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfVxyXG4gICAgJi5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygjeyhsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpIC0gNzApfSAtICN7JHJldmVhbC1wYXNzd29yZC13aWR0aH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmllbGQge1xyXG4gIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgbWFyZ2luOiA1cHggMDtcclxuICAvLyBBc3N1bWUgdGhlIGxhc3QgZmllbGQgY29udGFpbnMgdGhlIHN1Ym1pdCBidXR0b24uXHJcbiAgLy8gJjpsYXN0LWNoaWxkIHtcclxuICAgIC8vIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgICAvLyBBZGQgaW4gc29tZSBtYXJnaW4gdG8ga2ljayB0aGUgYnV0dG9uIGF3YXkgZnJvbSB0aGUgZmllbGRzIHNsaWdodGx5LlxyXG4gICAgICAvLyBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgLy8gfVxyXG4gIC8vIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gICYuYWxpZ24tcmlnaHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG4gICYuYWxpZ24tbGVmdCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG4gIGxhYmVsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgLy8gbWFyZ2luOiA1cHggMDtcclxuICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgIH1cclxuICAgICAgJi5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3tzbWFsbC12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpfSAtICN7JHJldmVhbC1wYXNzd29yZC13aWR0aH0pO1xyXG4gICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3tzbWFsbC12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpfSAtICN7JHJldmVhbC1wYXNzd29yZC13aWR0aH0gLSAgI3tsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpfSk7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhc3N3b3JkLXJldmVhbCB7XHJcbiAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICArIHRleHRhcmVhIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkdmlzb3J5LXRleHQge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSAtIDMpKTtcclxuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi50ZXh0LCAmLmVtYWlsLCAmLnRlbCwgJi5udW1iZXIsICYudGV4dGFyZWEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjpoYXMoYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ucHJpbWFyeS1idXR0b24pIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgJiArIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgICAgLy8gU3BlY2lmaWNhbGx5IG5vdCBjaGVja2JveCdzIGFzIFNhZmFyaSBmZWVscyB0byBkaXNwbGF5IGEgYmxhbmsgYXJlYSBldmVuIHRob3VnaCBjaGVja2JveCBpbnB1dCdzIGhhdmUgaGVpZ2h0ICsgd2lkdGggcHJvcGVydGllcyBzZXQgdG8gMDtcclxuICAgICAgJjpub3QoW3R5cGU9Y2hlY2tib3hdKSB7XHJcbiAgICAgICAgLy8gZmxleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAkZmllbGRzZXQtaW5wdXQtcGFkZGluZztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLmxhYmVsICsgdGV4dGFyZWEge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAvLyBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCk7XHJcbiAgICAgIC8vIE5lZWQgdG8gc2V0IGEgbWF4LXdpZHRoIG90aGVyd2lzZSB3aGVuIHlvdSBleHBhbmQgdGhlIGFyZWEgaXQgdGFrZXMgdXAgdGhlIGVudGlyZSB3aWR0aCBpbiBhIGZvcm0gYW5kIHB1c2hlcyB0aGUgbGFiZWwgYWJvdmUuXHJcbiAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRleHRhcmVhIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICAuZXJyb3ItYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXgtd2lkdGg6IChtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCkgLyAxLjEpO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOm5vdCgubWVkaXVtKTpub3QoLmxhcmdlKTpub3QoLmxhcmdlLTEpIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcbiAgJi5zbWFsbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIEBpZiAkZmllbGQtanVzdGlmeS1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAmLm1lZGl1bSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgIEBpZiAkZmllbGQtanVzdGlmeS1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZnVsbC13aWR0aCB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxpc3Qge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGxhYmVsIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICB3aWR0aDogMzQwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHsgXHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRsYWJlbC1pbnB1dC1nYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfSAgXHJcbiAgICBhIHtcclxuICAgICAgLy8gZGlzcGxheTogYmxvY2s7IHRvIHB1c2ggYW5jaG9ycyBvbnRvIG5ldyBsaW5lLlxyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4IDA7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0gVGhlc2UgYXJlIG5vcm1hbGx5IHVzZWQgZm9yIFwiIHBsZWFzZSBzcGVjaWZ5IG90aGVyIFwiIGZpZWxkcyAtLS0gIFxyXG4gIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAtLS0gTXVsdGktY29sdW1uIGZvcm0gZmllbGQgc3VwcG9ydCAtLS0gXHJcbiAgJltjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0sICZbY2xhc3NePVwiZmllbGQgbWVkaXVtLVwiXSwgJltjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLmNoZWNrYm94IHNwYW4uY2hlY2tib3gge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5zbWFsbC0xLCAmLm1lZGl1bS0xLCAmLmxhcmdlLTEge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDM2MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc21hbGwtMiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH0gXHJcbiAgJi5zbWFsbC0zIHtcclxuICAgIHdpZHRoOiAzMyU7XHJcbiAgfSBcclxuICAmLm1lZGl1bS0yIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubWVkaXVtLTMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgd2lkdGg6IDMzJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZS0yIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5sYXJnZS0zIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgd2lkdGg6IDMzJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLy8gT3V0cHV0dGVkIGNtcyBjb250ZW50IG5leHQgLyB1bmRlciBhIGlucHV0IGZpZWxkLlxyXG4uYWRkaXRpb25hbC1pbnB1dC1pbmZvIHtcclxuICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgLy8gT3ZlcnJpZGUgY21zLXBhcmFncmFwaC1mb250LXNpemUgYXMgd2UncmUgaW4gdGhlIGNvbnRleHQgb2YgYSBmb3JtLlxyXG4gIHAsIGEge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGQtbGFiZWwtZm9udC1zaXplKTtcclxuICB9XHJcbiAgYSB7XHJcbiAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBpbWcge1xyXG4gICAgbWFyZ2luOiAkYWRkaXRpb25hbC1pbmZvLWltYWdlLW1hcmdpbjtcclxuICB9XHJcbiAgJi5sYXJnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuLy8gVXNlZCBmb3IgcG9zdGNvZGUgbG9vayB1cC5cclxuLmxvb2t1cC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi8vIC0tLSBSZXZlYWwgUGFzc3dvcmQgLS0tIFxyXG4vLyAuY29udHJvbC50ZXh0LnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIge1xyXG4vLyAgIGlucHV0IHtcclxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgbWFyZ2luLXJpZ2h0OiAtI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofTtcclxuLy8gICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xyXG4gIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBsZXR0ZXItc3BhY2luZzogLTFweDtcclxuICBmb250LWZhbWlseTogY2FwdGlvbjtcclxuICB0cmFuc2l0aW9uOiBmb250LXNpemUgJHRyYW5zaXRpb25PdXRybztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC8vICYuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgLy8gICBjb2xvcjogJGFsZXJ0LWNvbG91cjtcclxuICAvLyB9XHJcbiAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzIDAgMCAkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGZvbnQtc2l6ZTogNDRweDtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAtMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmZvY3VzIHtcclxuICAgICYgKyBidXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vICYuaXMtaW52YWxpZC1pbnB1dDpmb2N1cysucGFzc3dvcmQtcmV2ZWFse1xyXG4gIC8vICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItYm9yZGVyLWNvbG91cjtcclxuICAvLyB9XHJcbiAgJiArIGJ1dHRvbiB7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFzc3dvcmQtcmV2ZWFsIHtcclxuICB3aWR0aDogJHJldmVhbC1wYXNzd29yZC13aWR0aDtcclxuICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXItY29sb3I6ICBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXNzd29yZC1yZXZlYWwpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgZm9udC1zdHlsZTogMTJweDtcclxuICAgIGNvbG9yOiAkcmV2ZWFsLWljb24tY29sb3VyO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogJHJldmVhbC1pY29uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYWN0aXZlIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICRyZXZlYWwtaWNvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmlucHV0LWFjdGl2ZSB7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0OjotbXMtY2xlYXIsIGlucHV0OjotbXMtcmV2ZWFsIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyAtLS0gQnV0dG9uMSAtLS1cclxuLy8gQWN0aW9uIGJ1dHRvbnMuXHJcbi5hY3Rpb24tYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJGEtZGVmYXVsdC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhLWRlZmF1bHQtYnV0dG9uLWNvbG91ciwgJGEtZGVmYXVsdC1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICAmLnN1Y2Nlc3MsICYuZW1haWwge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRhLWRlZmF1bHQtYnV0dG9uLXBhZGRpbmcsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHN1Y2Nlc3MtYnV0dG9uLWNvbG91ciwgJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbiAgfVxyXG4gICYud2FybmluZyB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkd2FybmluZy1idXR0b24tY29sb3VyLCAkd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICB9XHJcbiAgJi5hbGVydCB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsICRhbGVydC1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICB9XHJcbn1cclxuLy8gLS0tLS0gR2VuZXJpYyBCdXR0b25zIC0tLS0tLVxyXG4vLyBBbGlnbm1lbnQgY2xhc3MncyBmb3IgQ01TICggUmljaCBUZXh0IEVkaXRvciApIGNvbnRlbnQuXHJcbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1jZW50ZXIge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tcmlnaHQge1xyXG4gIG1hcmdpbi1yaWdodDogMDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5hW2NsYXNzKj1cIi1idXR0b25cIl0uYWxpZ24tbGVmdCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcbi8vIFNFVFRJTkcgTU9CSUxFLVdJRFRIOiBBVVRPOyBvdGhlcndpc2UgaWYgd2UgdXNlIDEwMCUgKyBhZGQgbWFyZ2luIHRoZSBidXR0b24gd2lsbCBiZSBkZS1jZW50ZXJhbGlzZWQgaW4gaXRzIGNvbnRhaW5lci5cclxuLy8gUFJPLVRJUDogU3RydWdnbGluZyB3aXRoIG5hbWluZyBhIGJ1dHRvbj8gdHJ5IHRoaXM6IHF1YXRlcm5hcnksIHF1aW5hcnksIHNlbmFyeSwgc2VwdGVuYXJ5LCBvY3RvbmFyeSwgbm9uYXJ5LCBkZW5hcnkgdGhpcyB3aWxsIHRha2UgeW91IHVwIHRvIDEwIHZhcmlhdGlvbnMuLi4uXHJcbi8vIFByaW1hcnkgYnV0dG9uIGlzIHR5cGljYWxseSB1c2VkIHdoZW4gcHJvY2VlZGluZyB0byB0aHJvdWdoIHRvIGFub3RoZXIgcHJvY2Vzcy5cclxuLmJ1dHRvbjEsIC5wcmltYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRwcmltYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi8vIFNlY29uZGFyeSBidXR0b24gaXMgdHlwaWNhbGx5IHVzZWQgd2hlbiBjYW5jZWxsaW5nIGFuIGFjdGlvbi5cclxuLnNlY29uZGFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLnRlcnRpYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCR0ZXJ0aWFyeS1idXR0b24tcGFkZGluZywgJHRlcnRpYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHRlcnRpYXJ5LWJ1dHRvbi1jb2xvdXIsICR0ZXJ0aWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcXVhdGVybmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsICRxdWF0ZXJuYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksIDAsIGlubGluZS1mbGV4KTtcclxufVxyXG4ucXVpbmFyeS1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcXVpbmFyeS1idXR0b24tcGFkZGluZywgJHF1aW5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcXVpbmFyeS1idXR0b24tY29sb3VyLCAkcXVpbmFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG59XHJcbi8vIEdlbmVyaWMgYnV0dG9uIHRoYXQgZ2V0cyB1c2UgYnkgY21zIGVkaXRvcnMuXHJcbi5jbXMtYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNtcy1idXR0b24tcGFkZGluZywgJGNtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjbXMtYnV0dG9uLWNvbG91ciwgJGNtcy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgKDAsIDAgMCAxMHB4KSk7XHJcbn1cclxuLmNtcy1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDVweDtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXdlaWdodDtcclxuICBAaWYgKCRjbXMtYnV0dG9uLXByb2NlZWQtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLWJ1dHRvbi1wcm9jZWVkLXRleHQtdHJhbnNmb3JtO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFuY2hvci1pbmRpY2F0b3IpO1xyXG4gICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIENvcHkgdG8gY2xpcGJvYXJkIGJ1dHRvbi5cclxuLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgLy8gVGhpcyBtYXkgbmVlZCBleHRlbmRpbmcgaW4gdGhlIGZ1dHVyZSB0byBzdXBwb3J0IGljb24gYmVmb3JlIHRleHQuXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbGlwYm9hcmQtY29weSk7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICBzaXplOiAxNXB4O1xyXG4gIH1cclxuICAuY29waWVkLXRleHQtY29udGFpbmVyIHtcclxuICAgICRjb3BpZWQtdGV4dC1wYWRkaW5nOiA1cHg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgI3soJGNvcGllZC10ZXh0LXBhZGRpbmcgKiAyKX0pO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAjeygkY29waWVkLXRleHQtcGFkZGluZyAqIDIpfSk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0jeyRjb3BpZWQtdGV4dC1wYWRkaW5nfTtcclxuICAgIGxlZnQ6IC0jeyRjb3BpZWQtdGV4dC1wYWRkaW5nfTtcclxuICAgIHBhZGRpbmc6ICRjb3BpZWQtdGV4dC1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyMywgLjkpO1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5sb2NhdGlvbi1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSg5LjVweCAxMnB4IDkuNXB4IDIxcHgsICRsb2NhdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRsb2NhdGlvbi1idXR0b24tY29sb3VyLCAkbG9jYXRpb24tYnV0dG9uLWJvcmRlci1jb2xvdXIsIDE0LDQwMCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgMCwgZmxleCwgJGxvY2F0aW9uLWJ1dHRvbi1pY29uLWNvbmZpZywgMSk7XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLXBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICAucmVmZXJlbmNlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcclxuICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgcGFkZGluZzogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1wYWRkaW5nO1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cik7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRoaXJkLXBhcnR5LXRyYWNraW5nKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1ndXR0ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICBmb250LXNpemU6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWNvbG91cik7XHJcbiAgfVxyXG59XHJcblxyXG4udGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTIge1xyXG4gIHdpZHRoOiBmaXQtY29udGVudDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiA1cHggMCAwO1xyXG4gIHBhZGRpbmc6IDVweCA4cHg7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cik7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXIpO1xyXG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cik7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXIpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0aGlyZC1wYXJ0eS10cmFja2luZyk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyKTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXIsICRwcmludC1lbGVtZW50cy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSxnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAoMCwgMCksIGZsZXgsICRwcmludC1lbGVtZW50cy1idXR0b24taWNvbi1jb25maWcpO1xyXG59XHJcblxyXG4ucHJpbnQtZWxlbWVudC1saW5rIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcmludGVyKTtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuXHJcbiAgfVxyXG59XHJcblxyXG4vLyBQYXlwYWwgQnV0dG9uLlxyXG4jcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiwgLnBheXBhbC1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjaGVja291dC1wYXlwYWwtYnV0dG9uLXBhZGRpbmcsICRjaGVja291dC1wYXlwYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoKSwgKCksIDE1cHgsIDYwMCwgKHdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBtZWRpdW06IDAsIGxhcmdlOiAwKSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiA2cmVtO1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheXBhbCkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEluY3JlbWVudCB0YWJsZSByb3cgICggZS5nLiBtYW5hZ2UgY2FyZHMgKS5cclxuLmluY3JlbWVudC1yb3ctYnV0dG9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMTBweDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzZWxlY3Rpb24taW5jcmVtZW50KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuXHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBjb250YWluZXJzLlxyXG4ucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICB9XHJcbiAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgLy8gSWYgbWFyZ2luIFIgKyBMIGFwcGxpZWQgaW4gbW9iaWxlIHRoaXMgd2lsbCBjYXVzZSB0aGUgYnV0dG9ucyB0byBiZSBzdGVwcGVkIGluIGR1ZSB0byBmb3JtIHBhZGRpbmcgYXJvdW5kIGNvbnRlbnQuXHJcbiAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiA1cHggMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleDogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmOm50aC1vZi10eXBlKDNuLTIpIHtcclxuICAgICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7IC8vIHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGVyZSBpcyB0d28gYnV0dG9uLWNvbnRhaW5lcidzIG9yIG9ubHkgb25lLlxyXG4gICAgJjpudGgtb2YtdHlwZSgybiksICY6b25seS1jaGlsZCB7XHJcbiAgICAgIC8vIElmIG5vIGFsaWduIGNlbnRlci5cclxuICAgICAgJjpub3QoLmFsaWduLWNlbnRlcikge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIC8vIFNlbGVjdCBhbGwgYnV0dG9ucyB0aGF0IGFyZSBub3QgYWN0aW9uLWJ1dHRvbnMuXHJcbiAgICAgICAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgICY6bm90KC5hY3Rpb24tYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBhcmUgYW55IG90aGVyIGJ1dHRvbnMuXHJcbiAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIFB1c2ggYWxsIGNvbnRlbnQgdG8gdGhlIHJpZ2h0LlxyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGVyZSBpcyBhIGd1dHRlci5cclxuICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDIwcHg7IHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICY6bm90KC5hY3Rpb24tYnV0dG9uKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDsgLy8gdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDIwcHg7IC8vIHVzaW5nIGdhcCBwcm9wZXJ0eSBpbnN0ZWFkLlxyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ICBcclxuICAgIH1cclxuICAgIC8vIGEsIGJ1dHRvbiB7XHJcbiAgICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBTbyB0aGUgY2FuY2VsIGJ1dHRvbiBhbHdheXMgYXBwZWFycyBvbiB0aGUgcmlnaHQuXHJcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBCYXNrZXQgLS0tXHJcbi5hZGRUb0Jhc2tldEZvcm0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYmFza2V0LWFkZC1idXR0b24taWNvbigpIHtcclxuICB3aWR0aDogJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aDtcclxuICBoZWlnaHQ6ICRhZGQtdG8tYmFza2V0LWljb24taGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgLy8gU3VwcHJlc3NpbmcgY2Fubm90IGdlbmVyaWNhbGx5IGFwcGx5IHRoaXMgYWNyb3NzIGFsbCBpbnN0YW5jZSwgdGhpcyBcIiBndXR0ZXIgXCIgaXMgZmFyIGJldHRlciBiZWluZyBtYW5hZ2VkIGJ5IGZsZXhib3hlcyBnYXAgcHJvcGVydHkuXHJcbiAgLy8gbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgZm9udC1zaXplOiAkYWRkLXRvLWJhc2tldC1pY29uLXNpemU7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTmV3IGFkZCB0byBiYXNrZXQgY2xhc3MgdGhhdCBzaG91bGQgZ2V0IHVzZWQgaW5zdGVhZCBvZiAuYWRkLXRvLWJhc2tldCwgdGhpcyBhbHNvIGRlLWNvdXBsZXMgdGhlIEpTIGxpc3RlbmVycyBmcm9tIENTUyBjbGFzcyBhcyB3ZWxsIHdoaWNoIGlzIHJlcXVpcmVkIGFzIHBhcnQgb2YgdGhlIGZvbGxvd2luZyBqb2JzIDgzODIzOCAmIDgyMDE5NC5cclxuLmJhc2tldC1hZGQtYnV0dG9uIHtcclxuICAmLmljb24ge1xyXG4gICAgQGluY2x1ZGUgYmFza2V0LWFkZC1idXR0b24taWNvbigpO1xyXG4gIH1cclxuICAmLnRleHQtYmFzZWQge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtYnV0dG9uLXBhZGRpbmcsICRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWJvcmRlciwgJGJhc2tldC1idXR0b24tZm9udC1zaXplLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDEwMCUpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hZGRUb0Jhc2tldC5pY29uIHtcclxuICBAaW5jbHVkZSBiYXNrZXQtYWRkLWJ1dHRvbi1pY29uKCk7XHJcbn1cclxuXHJcbi5hZGQtdG8tYmFza2V0IHtcclxuICAmOm5vdCgucHJlc2V0LTIpIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYmFza2V0LWJ1dHRvbi1wYWRkaW5nLCAkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1idXR0b24tY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1ib3JkZXIsICRiYXNrZXQtYnV0dG9uLWZvbnQtc2l6ZSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAxMDAlKSwgMCk7XHJcbiAgfVxyXG4gICYucHJlc2V0LTIge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtYnV0dG9uLXBhZGRpbmcsICRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIChnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpIC8gMS4yKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsICh3aWR0aDogMTAwcHgpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hbmltYXRlZC5kcm9wIHtcclxuICAmOmJlZm9yZSB7XHJcbiAgICBjb2xvcjogJGNvbG91cjYhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMjBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgIGFuaW1hdGlvbjogYmFza2V0SWNvbkhvdmVyIDAuNXM7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmFza2V0SWNvbkhvdmVyIHtcclxuICAwJSB7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gICAgb3BhY2l0eTogMC4yO1xyXG4gIH1cclxuICAxNSUge1xyXG4gICAgdG9wOiAtMTVweDtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxuICB9XHJcbiAgMzAlIHtcclxuICAgIHRvcDogLTEwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgfVxyXG4gIDQ1JSB7XHJcbiAgICB0b3A6IC01cHg7XHJcbiAgICBvcGFjaXR5OiAwLjg7XHJcbiAgfVxyXG4gIDYwJSB7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTNweDtcclxuICAgIHRvcDogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBTdG9ja2xpbmUgLS0tIFxyXG4uc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIHtcclxuICBhLCBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmcsICRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc3RvY2tsaW5lLWJ1dHRvbi1jb2xvdXIsICRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogMTAwJSwgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0KSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gTm90IGxvZ2dlZCBpbiAtLS0gXHJcbi5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgYSwgYnV0dG9uIHtcclxuICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRub3QtbG9nZ2VkLWluLWJ1dHRvbi1wYWRkaW5nLCAkbm90LWxvZ2dlZC1pbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRub3QtbG9nZ2VkLWluLWJ1dHRvbi1jb2xvdXIsICRub3QtbG9nZ2VkLWluLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IDEwMCUsIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodCksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tIEVucXVpcnkgZm9ybSBidXR0b24gLS0tIFxyXG4uZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC5lbnF1aXJ5LWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGVucXVpcnktYnV0dG9uLXBhZGRpbmcsICRlbnF1aXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGVucXVpcnktYnV0dG9uLWNvbG91ciwgJGVucXVpcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogMTAwJSwgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0KSwgMCk7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gRmF2b3VyaXRlcyAtLS1cclxuLy8gVEhJUyBDT1VMRCBCRSBDT05TT0xJREFURUQgSU5UTyBPTkUgQ09ERSBQQVRIIE5PVyBUSEUgOkhBUyBHT09EIFNVUFBPUlQgU08gVEhFIENTUyBDT1VMRCBERVRFQ1QgSUYgVEhFUkUgSVMgQSBMQUJFTCBPUiBOT1QsIFRISVMgSVMgQURWQU5UQUdFUyBUTyBIQVZJTkcgUFJFU0VUUyBGT1IgRkxFWElCSUlUWS5cclxuLmZhdm91cml0ZXNDb250YWluZXIge1xyXG4gIC8vIENvbW1vbiBzdHlsZXMuXHJcbiAgYSB7XHJcbiAgICAmW2Rpc2FibGVkXSwgJi5kaXNhYmxlZCB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAmOmFmdGVyLCAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmYXZvdXJpdGVzLWRlZmF1bHQpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkZmF2b3VyaXRlcy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBmb250LXNpemU6ICRmYXZvdXJpdGVzLWljb24tc2l6ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZhdm91cml0ZXMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZhdm91cml0ZXMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmFjdGl2ZSBhIHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEljb24gd2l0aCB0ZXh0IGxhYmVsLlxyXG4gICYucHJlc2V0MSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBhIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1jb2xvdXIpO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgQGlmICgkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAmOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAvLyBKdXN0IGFuIGljb24uXHJcbiAgJi5wcmVzZXQyIHtcclxuICAgICAgJjpub3QoLmFjdGl2ZSkgYSB7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgICB3aWR0aDogJGZhdm91cml0ZXMtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24taGVpZ2h0O1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4vL0NoZWNrYm94ZXMuIHJhZGlvIGJ1dHRvbnMgJiBTZWxlY3RcclxubGFiZWwuZGlzYWJsZWQsIGxhYmVsLnJlYWRvbmx5IHtcclxuICBjdXJzb3I6IG5vLWRyb3A7XHJcbn1cclxuXHJcbi5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgLy9lbmZvcmNlIHRoaXMgc28gZm91bmRhdGlvbiBkb2Vzbid0IG92ZXJyaWRlIGl0LlxyXG4gIC8vZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogMCFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwIWltcG9ydGFudDtcclxuICBmbGV4OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgLy8gT25seSBpbiBmaXJlZm94IHRoZXJlIGFwcGVhcnMgdG8gYmUgYSA0cHggYm9yZGVyIGFyb3VuZCBjaGVja2JveGVzIHNvIHRoaXMgaXMgYSBoYWNreSBmaXgsIGRpc3BsYXk6IGNvbnRlbnRzOyBhbHNvIHdvcmtzIGJ1dCB0aGVuIGludHJvZHVjZXMgYSBidWcgd2hlcmUgeW91IGNhbm5vdCBzaGlmdCt0YWIgb24gY2hlY2tib3hlcyBhbnltb3JlLlxyXG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBHZW5lcmFsIGlucHV0IHN0eWxpbmcgLS0tLS1cclxuLmNvbnRyb2wge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAvLyBDZW50ZXIgaXRlbXMgaW4gbW9iaWxlIGR1ZSB0byBTYWZhcmkgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIHdoZW4gaW5wdXRzIHdpdGggYnV0dG9ucyB0aGF0IGhhcyBuZXN0ZWQgZm9udCBpY29ucy5cclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICAvLyBPbmx5IHJlYWxseSB3YW50IHRvIHRoaXMgb24gbW9iaWxlIGhhdmVuJ3QgdGVzdGVkIHRoaXMgd2l0aCBkZXNrdG9wIHZpZXcuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgfVxyXG4gIC8vIC0tLSBIaWRkZW4gaW5wdXQgc3R5bGluZyAtLS1cclxuICBpbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyBEbyBub3QgYXBwbHkgdmlzaWJpbGl0eTogaGlkZGVuIG90aGVyd2lzZSA6Zm9jdXMgZG9lc24ndCB3b3JrLlxyXG4gICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1ob3ZlcmVkLCAmOmhvdmVyIHtcclxuICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBcclxuXHJcbiAgJi5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7IFxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiwgaW5wdXQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtZm9jdXNlZCB7XHJcbiAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3gtc2hhZG93OiAtMTVweCAwIDI3cHggM3B4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gSWYgdGhlIGxhYmVsIGlzIG91dHNpZGUgb2YgdGhlIC5jb250cm9sIGNvbnRhaW5lciAoIGUuZy4gbGFiZWwgYWZ0ZXIgY2hlY2tib3ggKS5cclxuICAmICsgLmxhYmVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGxhYmVsLWlucHV0LWdhcDtcclxuICB9XHJcblxyXG4gIC8vIEljb24gdGhhdCBzaXRzIGJlZm9yZSB0aGUgaW5wdXQuXHJcbiAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBAaWYgJHNtb290aC1lZGdlcy1lbmFibGVkIHtcclxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAmICsgaW5wdXQge1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcbiAgICAmICsgaW5wdXQge1xyXG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgdmlzYWJsZSBpbnB1dHMuXHJcbiAgJjpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICBpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPW51bWJlcl0sIGlucHV0W3R5cGU9dGVsXSwgdGV4dGFyZWEge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGhvdmVyLWNvbG91cigkaW5wdXQtYm94LXNoYWRvdyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYucmVhZC1vbmx5LWlucHV0LCAmLmRpc2FibGVkLWlucHV0IHtcclxuICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgIC8vIEZvciBtb2JpbGUgZGV2aWNlcyBzdXBwcmVzcyBmb3IgdGV4dCBmaWVsZHMuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICY6bm90KC50ZXh0KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5wdXRSZWFkT25seSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTaG93IGZvciBhbGwgZmllbGRzIGluIGRlc2t0b3AuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIEBpbmNsdWRlIGlucHV0UmVhZE9ubHkoKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICBcclxuICAvLy0tLSBDaGVja2JveCAtLS1cclxuICAgJi5jaGVja2JveCB7XHJcbiAgICAgICYuc21hbGwge1xyXG4gICAgICAgIC8vIEluIG1vYmlsZSB3ZSB3YW50IGNoZWNrYm94ZXMgdG8gZGVmYXVsdCB0byB3aWR0aDoxMDAlIGJ1dCBvdmVycmlkZSB3aWR0aCBpbiBkZXNrdG9wO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjb21tb24tY2hlY2tib3goKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpub3QoLnNtYWxsKSB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWNoZWNrYm94KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIC8vIC0tLSBSYWRpbyBCdXR0b25zIC0tLSBcclxuICAmLnJhZGlvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgLy8gUmFkaW8gYnV0dG9uIGRlc2lnbi5cclxuICAmLnJhZGlvOm5vdCguY2hlY2tib3gpIHsgXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIC8vIElmIHJhZGlvIGFjdGl2ZS5cclxuICAgICAgJjpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3Bhbi5yYWRpbyB7XHJcbiAgICAgIHdpZHRoOiAkcmFkaW8tZGltZW50aW9ucztcclxuICAgICAgaGVpZ2h0OiAkcmFkaW8tZGltZW50aW9ucztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpby1kaW1lbnRpb25zO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJHJhZGlvLWljb24tZGltZW5zaW9ucztcclxuICAgICAgICBoZWlnaHQ6ICRyYWRpby1pY29uLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIGZsZXhib3gganVzdGlmeS1jb250ZW50OiBjZW50ZXIgaXMgb2ZmIGJ5IC41cHguXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLjJweDtcclxuICAgICAgICBsZWZ0OiAuNHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGlvLWljb24tZGltZW5zaW9ucztcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIENoZWNrb3V0IHN0eWxlcy5cclxuICAmLnJhZGlvLmNoZWNrYm94IHtcclxuICAgIGlucHV0IHtcclxuICAgICAgQGluY2x1ZGUgY29tbW9uLWNoZWNrYm94KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vLS0tIFNlbGVjdCAtLS1cclxuICAmLnNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgc2VsZWN0IGRyb3Bkb3duIHRvIG92ZXJsYXAgdGhlIHJlY2FwdGNoYSBiYWRnZSBpbiBtb2JpbGUuXHJcbiAgICAvLyB6LWluZGV4OiAxO1xyXG4gICAgc2VsZWN0IHtcclxuICAgICAgaGVpZ2h0OiAkc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0O1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgJjpkaXNhYmxlZCwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICYgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpOyBcclxuICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpkaXNhYmxlZCwgJltyZWFkb25seV0ge1xyXG4gICAgICAgICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIge1xyXG4gICAgICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1pbnZhbGlkLWlucHV0ICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgfVxyXG4gICAgICY6Zm9jdXMge1xyXG4gICAgICAgKyBkaXZbY2xhc3M9Y29udHJvbC1zZWxlY3QtY29udGFpbmVyXSAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgfVxyXG4gICAgIH0gXHJcbiAgICB9XHJcbiAgICAmLmlzLWNsb3Npbmcge1xyXG4gICAgICB6LWluZGV4OiAyMDAwO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUsICYuYWN0aXZlOmhvdmVyIHtcclxuICAgICAgLy8gTWFrZSBzdXJlIHRoZXkgYXBwZWFyIHVuZGVyIHRoZSBoZWFkZXIgd2hlbiBzdGlja3kuXHJcbiAgICAgIHotaW5kZXg6IDE5OTk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5kcm9wZG93bi10b3Age1xyXG4gICAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcclxuICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4OyAgXHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDE4NXB4O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTsgXHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcGRvd24tYm90dG9tIHtcclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuZHJvcGRvd24tdG9wIHtcclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICBib3R0b206IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wZG93bi10b3AuYWN0aXZlIHtcclxuICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgd2lkdGg6ICRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1idXR0b24td2lkdGg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6ICRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1zaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgIC8vIE5lZWQgdG8gc2V0IGhlaWdodDogMTAwJSBvdGhlcndpc2UgdGhlIG92ZXJmbG93cyB0aGUgY29udGFpbmVyIGlmIGl0IGhhcyBhIHNldCBoZWlnaHQuXHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJ1dHRvbi13aWR0aCArIDMpO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgICAgLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAkZmllbGRzZXQtaW5wdXQtcGFkZGluZztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gTmVlZCBwb3NpdGlvbiBhYnNvbHV0ZSBvdGhlcndpc2UgaW4gbW9iaWxlIHB1c2hlcyB0aGUgZW50aXJlIHBhZ2UgZG93bi5cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAvLyB0b3A6IDA7XHJcbiAgICAgIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAxcHg7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1vcHRpb24ge1xyXG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDsgXHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAmW3NlbGVjdGVkXSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgfVxyXG4gICAgICAmW2Rpc2FibGVkXSwgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTsgXHJcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWNvbG91cik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTtcclxuICAgICAgICAmW2Rpc2FibGVkXSwgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgLy8gQWRkaW5nIGluIGEgbWluLXdpZHRoIHRvIHByZXZlbnQgY3JhbXBlZCBzZWxlY3QgZHJvcGRvd25zIHdpdGggc2hvcnRlZCBzdHJpbmdzIG9mIHRleHQgZm9yIHRoZWlyIG9wdGlvbiBkZXNjaXB0aW9ucy5cclxuICAgICAgbWluLXdpZHRoOiAxNTBweDtcclxuICAgICAgLy8gRG9udCBzZXQgMTAwJSBqdXN0IGluY2FzZSB0aGVyZSBpcyBhIHRvb2x0aXAgYXNzaWduZWQuXHJcbiAgICAgIC8vd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgZmxleDogMTtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0byBhbGxvdyBpbnB1dCB0byB0YWtlIHVwIGF2YWxhYmxlIHdpZHRoLlxyXG4gICAgICAgIC8vIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKTtcclxuICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAkc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRpdGxlIHtcclxuICAgICAgLy8gd2lkdGg6IGF1dG87XHJcbiAgICAgIC8vIC5sYWJlbCB7XHJcbiAgICAgIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAvLyAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9XHJcbiAgICAgIC8vIEluY3JlYXNpbmcgdG8gMjUwcHggdG8gYWxsb3cgZm9yIHVuLXNlbGVjdGVkIHZhbHVlLlxyXG4gICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnRleHQge1xyXG4gICAgY3Vyc29yOiB0ZXh0O1xyXG4gICAgaW5wdXQge1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgJjpub3QoW3R5cGU9cGFzc3dvcmRdKTpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJi5pcy1pbnZhbGlkLWlucHV0IHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICAgICAmOmZvY3VzIHsgXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLmlzLWludmFsaWQtaW5wdXQpICsgYnV0dG9uIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zbGlkZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG4gICYuZmlsZSB7XHJcbiAgICAvLyBIYXZpbmcgdG8gdXNlIGltcG9ydGFudCBkdWUgdG8gb3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0eWxlcy5cclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaW5wdXQtZmlsZS13aWR0aCkgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiAkaW5wdXQtZmlsZS1vdXRlci1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aH0pO1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRofSk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIGJvcmRlcjogJGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRoIGRhc2hlZCBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRpbnB1dC1maWxlLXdpZHRoKSFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6IDM4cHggMTBweDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgICAgc3Bhbi5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSwgJi5pcy1yZWFkeSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1yZWFkeSB7XHJcbiAgICAgIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS11cGxvYWQtcmVhZHkpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLXVwbG9hZC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICB9XHJcbiAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgfVxyXG4gICAgICAuZmlsZS11cGxvYWQtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS1yZW1vdmUpO1xyXG4gICAgICAgICAgQGlmICRzaXRlLWljb25zLWN1c3RvbS1maWxlLXJlYWR5LWljb24ge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsZS1yZWFkeS1pY29uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc3Bhbi5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuLmxhYmVsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LWZpbGUtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRpbnB1dC1maWxlLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogKGxhcmdlLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcpIC8gMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5maWxlLXVwbG9hZC1pY29uIHtcclxuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS11cGxvYWQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWxlLXVwbG9hZC1pY29uKTtcclxuICAgICAgICBmb250LXNpemU6IDQ2cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgfVxyXG4gICAgICAmICsgLmxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlucHV0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmlsZS1zaXplIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbGUtcmVtb3ZlKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc2VhcmNoIHtcclxuICAgIGlucHV0IHtcclxuICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gVG9vbHRpcHMuXHJcbiAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBhbmltYXRlVG9vbFRpcEhpbnQgMnM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gIC8vIHotaW5kZXg6IDUwMDtcclxuICBzZWxlY3QsIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICB3aWR0aDogJHF1YW50aXR5LWRyb3Bkb3duLXdpZHRoO1xyXG4gICAgICAvLyBtYXJnaW46IGF1dG87XHJcbiAgfVxyXG4gIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRxdWFudGl0eS1kcm9wZHdvbi1wYWRkaW5nLWxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVUb29sVGlwSGludCB7XHJcbiAgMCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICB9XHJcbiAgMjAlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0IHtcclxuICAvLyBHb2luZyBhZ2FpbnN0IHRoZSBncmFpbiBoZXJlIGJlY2F1c2Ugb2YgaU9TIGlmIHdlIGRvIG5vdCBzZXQgdGhlIGZvbnQtc2l6ZSB0byA+IDE2cHggdGhlbiBicm93c2VyIHdpbGwgem9vbSBpbiBvbiB0aGUgaW5wdXQgZmllbGQuLi4gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS8xNnB4LW9yLWxhcmdlci10ZXh0LXByZXZlbnRzLWlvcy1mb3JtLXpvb20vIGFuZCBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yOTg5MjYzL2Rpc2FibGUtYXV0by16b29tLWluLWlucHV0LXRleHQtdGFnLXNhZmFyaS1vbi1pcGhvbmUsIHRoZXJlIGhhcyBiZWVuIHN1Z2dlc3Rpb25zIHRoYXQgdGhlIGZpeCBpbiB0aGF0IHN0YWNrIHBvc3Qgc3BlY2lmaWNhbGx5IFwiIG1heGltdW0tc2NhbGU9MSBcIiBoYXMgY2F1c2VkIGlzc3VlcyB3aXRoIGFuZHJvaWQgZGV2aWNlcyBub3QgYmVpbmcgYWJsZSB0byBwaW5jaCB6b29tIHNvIEkgaGF2ZSBvcHRlZCB0byBnb3QgZG93biB0aGUgcHVyZSBjc3MgZml4LlxyXG4gIEBpZiAoJGlucHV0LWZvbnQtc2l6ZSA8IDE2KSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkaW5wdXQtY29sb3VyKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGlmICgkaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRpbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiAkaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAmOmF1dG9maWxsIHtcclxuICAvLyAgIGNvbG9yOiAkY29sb3VyMy0zICFpbXBvcnRhbnQ7XHJcbiAgLy8gICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogJGNvbG91cjMtMztcclxuICAvLyB9XHJcbn1cclxuXHJcbmlucHV0Lm1haWwtaW5wdXQge1xyXG4gIC8vIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRofSk7XHJcbiAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gIGZsZXgtZ3JvdzogMTtcclxuICBmbG9hdDogbGVmdDtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIC8vIERlZmF1bHQgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBpbnB1dCBmb3Igc21hbGwgZGV2aWNlcyBhcyBidXR0b24gd2lsbCBuZWVkIHRvIHdyYXAuXHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgQGlmIHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgIC8vIERvIHdlIHdhbnQgdGhlIGJ1dHRvbiB0byBhcHBlYXIgc2VwZXJhdGUgZnJvbSB0aGUgaW5wdXQuXHJcbiAgICBAaWYgJG1haWxpbmctbGlzdC1pbnB1dC1idXR0b24tc2VwZXJhdGUtZWxlbWVudHMge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKSAwIDAgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG1hcmdpbjogMDtcclxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAvLyAmOmZvY3VzICsgYnV0dG9uIHtcclxuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkY29sb3VyMCFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gIC8vIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBib3JkZXItd2lkdGg6ICRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyO1xyXG4gIH1cclxuICAmLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgKyBidXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyB3aWR0aDogJG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aDtcclxuICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIEBpZiBzbWFsbC12YWx1ZSgkbWFpbGluZy1idXR0b24tbWFyZ2luKSB7XHJcbiAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1haWxpbmctYnV0dG9uLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiAkbWFpbGluZy1idXR0b24tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgLy8gRGVmYXVsdCB0byB0aGUgYm9yZGVyIGdvZXMgYWxsIHRoZSB3YXkgYXJvdW5kIHRoZSBidXR0b24gZm9yIHNtYWxsIGRldmljZXMgYXMgdGhlIGJ1dHRvbiB3aWxsIHdyYXAuXHJcbiAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGlmICRtYWlsaW5nLWJ1dHRvbi1mb250LXNpemUge1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtYWlsaW5nLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGlmIG5vdCAoJG1haWxpbmctbGlzdC1idXR0b24tdGV4dC10cmFuc2Zvcm0gPT0gXCJub25lXCIpIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRtYWlsaW5nLWxpc3QtYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBAaWYgJG1haWxpbmctbGlzdC1pbnB1dC1idXR0b24tc2VwZXJhdGUtZWxlbWVudHMge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgbWFyZ2luOiBtZWRpdW0tdmFsdWUoJG1haWxpbmctYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgIGJvcmRlci13aWR0aDogJG1haWxpbmctYnV0dG9uLWJvcmRlcjtcclxuICAgIH1cclxuICAgICY6ZW1wdHkge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWFpbCk7XHJcbiAgICAgICAgd2lkdGg6ICRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAgIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6ZW1wdHkge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyBOb3JtYWxseSBncm91cGVkIGhpZGRlbiBmaWVsZHMgdGhhdCBnZXQgdG9nZ2xlZCAoIHRoaW5rIGRlbGl2ZXJ5IGFkZHJlc3NlcyApLlxyXG4uY29uZGl0aW9uYWwtaW5wdXRzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtaGVpZ2h0OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICYuYWN0aXZlIHtcclxuICAgIG1heC1oZWlnaHQ6IDIwMDBweDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBRdWFudGl0eSBTZWxlY3RvcnMgLS0tLS1cclxuLy8gLS0tIEZyZWUgVGV4dCAtLS0gXHJcbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC8vIC0tLSBDb2xvdXJpbmcgLS0tXHJcbiAgLy8gRGVmYXVsdFxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRlZmF1bHRcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRlZmF1bHRcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiaG92ZXJcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUHJlc2V0IDFcclxuICAmLnByZXNldC0xIHtcclxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCAge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJkZWZhdWx0XCIpO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwicHJlc2V0LTFcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImFjdGl2ZVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIGNvbG91cnMuXHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkaXNhYmxlZFwiKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGlzYWJsZWRcIik7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubGFiZWwge1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkcXVhbnRpdHktbGFiZWwtcGFkZGluZywgc21hbGwpO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHF1YW50aXR5LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRxdWFudGl0eS1sYWJlbC1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZS1hY3RpdmF0ZSBzcGlubmVyIGJ1dHRvbnMgYXMgd2UgaGF2ZSB0aGUgaW5jcmVtZW50b3IgYnV0dG9ucyBvbiBlaXRoZXIgc2lkZS5cclxuICBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1udW1iZXJdIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC8vIEVycm9yIHN0eWxpbmcuXHJcbiAgLy8gTW9yZSBnZW5lcmljIGVycm9yIHN0eWxpbmcgbm93IHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IElFLlxyXG4gICY6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIHtcclxuICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtbnVtYmVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBPbGQgd2F5IG9mIGRvaW5nIHRoaXMgcmVxdWlyaW5nIEpTLlxyXG4gICYuaXMtaW52YWxpZC1xdWFudGl0eSB7XHJcbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktZXJyb3Ige1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICAucXVhbnRpdHktZXJyb3Ige1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbnMgc3R5bGVzLlxyXG4ucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgd2lkdGg6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgQGlmICgkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xyXG4gICAgLy8gSUUgRG9lc24ndCBzZWVtIHRvIGxpa2UgdGhpcyBhcHByb2FjaC5cclxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gIH1cclxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlcixcclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcclxuICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgaGVpZ2h0OiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsXHJcbiAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6ICRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZDogJHF1YW50dGl5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiAkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1mb250LXNpemU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWFudGl0eS1zZWxlY3Rvci1pbmNyZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1YW50aXR5LXNlbGVjdG9yLWRlY3JlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gU2VsZWN0IGRyb3Bkb3duICAtLS1cclxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcclxuICB9XHJcbiAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6ICRxdWFudGl0eS1kcm9wZG93bi1oZWlnaHQ7XHJcbiAgfVxyXG4gIC5zZWxlY3Qge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogOTBweDtcclxuICAgIH1cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGhlaWdodDogJHF1YW50aXR5LWRyb3Bkb3duLWhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIEBpbmNsdWRlIHF1YW50aXR5LXNlbGVjdG9yLWxhYmVsKCk7XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4vLyAtLS0tLSBBYmlkZSAtLS0tLSBcclxuLy8gLS0tIEZvcm0gRXJyb3JzIC0tLVxyXG4vLyBTdGFuZGFyZCBFcnJvciB0aGF0IGdldHMgc2hvdyB1bmRlciB0aGUgZmllbGQuXHJcbnNwYW4uZm9ybS1lcnJvciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IDA7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgJi5pcy12aXNpYmxlIHtcclxuICAgIC8vcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9XHJcbn1cclxuLy8gRXJyb3IgdGhhdCBkb2Vzbid0IGdldCBzaG93IGRpcmVjdGx5IGluIHRoZSBtYWluIGNvbnRlbnQgYnV0IHJhdGhlciBpbiBhIGNhbGxvdXQuXHJcbnNwYW4uZm9ybS1jYWxsb3V0LWVycm9yIHtcclxuICAvLyBPdmVycmlkZSBmb3VuZGF0aW9uLlxyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLWludmFsaWQtaW5wdXQge1xyXG4gIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuICAvLyBhbmltYXRpb246IGtmX3NoYWtlIDAuNHMgMS44IGxpbmVhcjtcclxufVxyXG5cclxuXHJcbnVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgPiBsaSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hZHZhbmNlZC1mb3JtLWVycm9yIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgZm9udC13ZWlnaHQ6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICBmb250LXN0eWxlOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXN0eWxlO1xyXG4gICAgICBjb2xvcjogJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhZHZhbmNlZC1mb3JtLWZhaWwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24tc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGNvbG9yOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWljb24tY29sb3VyO1xyXG4gICAgICB9XHJcbiAgICAgICYuaXMtdmFsaWQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWR2YW5jZWQtZm9ybS1zdWNjZXNzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy1pbnZhbGlkIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhZHZhbmNlZC1mb3JtLWZhaWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaGUgcmVhc29uIGZvciB0aGUgb3ZlcnJpZGVzIGlzIGJlY2F1c2Ugd2UgbmVlZCB0byB1dGlsaXNlIGFiaWRlJ3MgbGl2ZSB2YWxpZGF0aW9uIHdoaWNoIGFkZHMgdGhlIGludmFsaWQgY2xhc3MsIGl0IGlzIGZhciBzaW1waWxhciB0byBvdmVycmlkZSBoZXJlIGluc3RlYWQgb2YgbW9kaWZ5aW5nIHRoZSBub2RlIG1vZHVsZXMuXHJcbi5hZHZhbmNlZC12YWxpZGF0aW9uLWFjdGl2ZS5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICBjb2xvcjogJGNvbG91cjMtMztcclxuICAvLyAuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyB7IFxyXG4gIC8vICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMCFpbXBvcnRhbnQ7XHJcbiAgLy8gICAmICsgLmxpbmUtYnV0dG9uIHtcclxuICAvLyAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMCFpbXBvcnRhbnQ7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG59XHJcblxyXG4vLyBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGdyb3VwLWZvcm0tZXJyb3IgJiBlcnJvci1ibG9jayBpcyB0aGUgZXJyb3ItYmxvY2sgaXMgZGljdGF0ZWQgYnkgdGhlIHNlcnZlciB3aGVuIHRvIHNob3cgYnV0IGdyb3VwLWZvcm0tZXJyb3IgaXMgc2hvd24gd2hlbiB0aGUgSlMgdmFsaWRhdGlvbiBkZWNpZGVzIHdoZW4gdG9kbyBzby5cclxuLmdyb3VwLWZvcm0tZXJyb3Ige1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICBAaW5jbHVkZSBlcnJvci1ibG9jaygpO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vIFN1cHJlc3NpbmcgdG8gYWxsb3cgZm9yIGJ1dHRvbiBtYXJnaW4gaGFuZGxlIHRoZSBndXR0ZXJzLCB0aGlzIHdhcyBkZWNpZGVkIGZvciBkb3dubG9hZCBvcmRlcnMuXHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3Igc2VydmVyIGZvcm0gZXJyb3JzLlxyXG4uZXJyb3ItYmxvY2sge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KTtcclxuICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICBAaW5jbHVkZSBlcnJvci1ibG9jaygpO1xyXG59XHJcblxyXG4vLyAtLS0gR2VuZXJhbCB2YWxpZGF0aW9uIC0tLVxyXG4uY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIHtcclxuICBpbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgKyBzcGFuLmNoZWNrYm94IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5Aa2V5ZnJhbWVzIGtmX3NoYWtlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwcHgpO1xyXG4gIH1cclxuXHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwcHgpO1xyXG4gIH1cclxuXHJcbiAgNDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTtcclxuICB9XHJcblxyXG4gIDYwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01cHgpO1xyXG4gIH1cclxuXHJcbiAgODAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4KTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgpO1xyXG4gIH1cclxufVxyXG4uZmllbGQtbGVhZC1pbi10ZXh0IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBkZWZhdWx0KTtcclxuICBmb250LXdlaWdodDogJGZvcm1zLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG59XHJcblxyXG5sYWJlbCB7XHJcbiAgJjpub3QoLmRpc2FibGVkKSwgJjpub3QoLnJlYWQtb25seS1pbnB1dCkge1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxhYmVsLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5sYWJlbCB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG4gIGlucHV0IHtcclxuICAgIC8vIFNwZWNpZmljYWxseSBub3QgZmlsZSB0eXBlIGR1ZSB0byB0aGF0IHNwYW5uaW5nIHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICY6bm90KFt0eXBlPWZpbGVdKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdHlsZXMuXHJcbiAgICAgIC8vd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdHlsZXMuXHJcbiAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICYuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XHJcbiAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAmLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24uaW5saW5lLWJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYuaXMtaW52YWxpZC1pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uOmhvdmVyIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEdvaW5nIGJhY2sgb24gdGhpcyBkZWNpc2lvbiBhcyBGaXJlZm94IG9uIGhhcyAyLjc1JSBvZiBnbG9iYWwgdXNhZ2UsIHRoZSB3YXkgdG8gZml4IHRoaXMgaXMgdG8gZXNzZW50YWxseSBvdXRwdXQgdGhlIGJ1dHRvbiBtYW51YWxseSB1c2luZyBIVE1MIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM3ODQ2MDIzL2lucHV0LXR5cGUtc2VhcmNoLW5vLWxvbmdlci1zaG93cy1jYW5jZWwtYnV0dG9uLXgtdW5kZXItZmlyZWZveFxyXG4vLyBEdWUgdG8gbGFjayBvZiBicm93c2VyIHN1cHBvcnQgdGhpcyBuZWVkcyB0byBiZSBzdXBwcmVzcyBkdWUgdG8gY29uc2lzdGVuY3kuXHJcbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gSW50ZXJuZXQgRXhwbG9yZXIgKi9cclxuLy8gaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtY2xlYXIgeyAgZGlzcGxheTogbm9uZTsgd2lkdGggOiAwOyBoZWlnaHQ6IDA7IH1cclxuLy8gaW5wdXRbdHlwZT1zZWFyY2hdOjotbXMtcmV2ZWFsIHsgIGRpc3BsYXk6IG5vbmU7IHdpZHRoIDogMDsgaGVpZ2h0OiAwOyB9XHJcblxyXG4vKiBjbGVhcnMgdGhlICdYJyBmcm9tIENocm9tZSAqL1xyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLy8gLS0tLS0gUG9zdGNvZGUgbG9va3VwIC0tLS0tXHJcbi5sb29rdXAtY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4vLyAucG9zdGNvZGUtbG9va3VwLWNvbnRhaW5lciB7XHJcbi8vICAgLmxhYmVsIHtcclxuLy8gICAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuLy8gICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4vLyAgICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcbi5wb3N0Y29kZS1sb29rdXAtZXJyb3Ige1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG59XHJcbmlucHV0Lmxvb2t1cC1rZXkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1yaWdodDogMTVweDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICB3aWR0aDogMzYwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9XHJcbiAgJiArIGJ1dHRvbiAge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaXMtdmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcGNvZGUtbG9va3VwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRwY29kZS1sb29rdXAtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICB9XHJcbiAgJi5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ubG9va3VwLXN1Ym1pdCB7XHJcbiAvL0BpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjEsIDE0LCA2MDAsIDAgMTVweCk7XHJcbiBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHBjb2RlLWxvb2t1cC1idXR0b24tcGFkZGluZywgJHBjb2RlLWxvb2t1cC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwY29kZS1sb29rdXAtYnV0dG9uLWNvbG91ciwgJHBjb2RlLWxvb2t1cC1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoXCJhc3NvY2lhdGVkXCIpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cyhcImFzc29jaWF0ZWRcIiksICh3aWR0aDogYXV0bywgbW9iaWxlLXdpZHRoOiAxMDAlKSwgKHNtYWxsOiAxMHB4IDAgMCwgbWVkaXVtOiAwIDAgMCAxMHB4LCBsYXJnZTogMCAwIDAgMTBweCkpO1xyXG59XHJcblxyXG4ubG9va3VwLXJlc3VsdHMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHVsIHtcclxuICAgIG1heC1oZWlnaHQ6IDIyNXB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgLnNlbGVjdGVkIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgYnV0dG9uLCBhIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpZiAoJGxvb2t1cHMtcmVzdWx0cy1oaWdobGlnaHRlZC10ZXh0LWVuYWJsZWQpIHtcclxuICAgICAgLy8gSGlnaGxpZ2h0IGNvbnRlbnQuXHJcbiAgICAgIHNwYW4geyBcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHsgXHJcbiAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5icmFuY2gtc2VhcmNoLCAmLmFjY291bnQtc2VhcmNoIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGg7XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vIC0tLS0tIEdlb2xvY2F0aW9uIC0tLS0tXHJcbi5nZW9sb2NhdGlvbi1jb250aWFuZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLy8gLS0tLS0gRGVmYXVsdCBzZWFyY2ggc3R5bGVzIC0tLS0tIFxyXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xyXG4gIGZsZXg6IDE7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6ICRmaWVsZHNldC1pbnB1dC1wYWRkaW5nO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICBAaWYgKHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gIH1cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAvLyBwYWRkaW5nOiAwIDcwcHggMCAyNXB4O1xyXG4gIC8vIH1cclxuICAvLyBDb250cmFzdCBjaGVja2VyIGZvciBzZWFyY2ggYnV0dG9uLlxyXG4gIC8vIERlZmF1bHRcclxuICAkYnV0dG9uLWNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpICxtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgLy8gSG92ZXJcclxuICAkYnV0dG9uLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgLy8gQWN0aXZlXHJcbiAgJGJ1dHRvbi1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSksbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG5cclxuICAmOmhvdmVyLCAmLmhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDIwcHggNnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICsgYnV0dG9uIHtcclxuICAgICAgYm94LXNoYWRvdzogMTVweCAwcHggMjBweCAycHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6Zm9jdXMsICY6YWN0aXZlLCAmLmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcbiAgICArIGJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybyBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIC8vIEJpdCBvZiBhIGhhY2sgYnV0IHRoZSBvbmx5IHdheSB0byB2ZXJ0aWNhbGx5IGFsaWduIHRoZSB0ZXh0IGR1ZSB0byBzb21lIGZvbnQgZmFtaWx5J3MgbWFraW5nIHRoZSB0ZXh0IGFwcGVhciBzbGlnaHQgaGlnaGllciB0aGFuIG90aGVycyAuLi4uLiBhbmQgbm8gZmxleGJveCBkb2Vzbid0IGhlbHAgaGVyZSBJIHRyaWVkLlxyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGNvbG9yOiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG91cjtcclxuICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgLy9mb250LXNpemU6IHJlbS1jYWxjKCRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC1zaXplKTtcclxuICAgIC8vZm9udC13ZWlnaHQ6ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBAaWYgJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1zdHlsZSB7XHJcbiAgICAgIGZvbnQtc3R5bGU6ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItc3R5bGU7XHJcbiAgICB9XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTtcclxuICB9XHJcbiAgQGlmIChzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAmOm5vdCg6aGFzKCsgYnV0dG9uKSkge1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICsgYnV0dG9uIHtcclxuICAgIHdpZHRoOiAkc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci13aWR0aDogJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWhvdmVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNlYXJjaCk7XHJcbiAgICAgIHdpZHRoOiAkc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbik7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIEBpZiAkc2VhcmNoLWJ1dHRvbi1pbm5lci1ib3JkZXIge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBUb2dnbGVhYmxlIGlucHV0cyAtLS0tLSBcclxuLnRvZ2dsZS1jb250YWluZXIge1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgbWF4LWhlaWdodDogNTAwMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLS0tLS0gR2V0cyBwbGFjZWQgb3ZlciB0aGUgZmllbGRzIHRvIGJsb2NrIHRoZSB1c2VyIGZyb20gY2xpY2tpbmcgb24gdGhlbSAtLS0tXHJcbi51aS1ibG9jay1wYW5lIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR1aS1ibG9jay1iYWNrZ3JvdW5kO1xyXG4gIGN1cnNvcjogbm8tZHJvcDtcclxuICB6LWluZGV4OiAxMDAwO1xyXG4gICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbm8tYWNjZXNzKTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICBmb250LXNpemU6IDgycHg7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXIzLTMsIDAuNik7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTU08gU2VsZWN0aW9uIC0tLS0tXHJcbi5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBhZGRpbmc6IDEwcHggMDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nOiAjeyRzc28tY29tbW9uLWdhcH0gMDtcclxuICB9XHJcbiAgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAkc3NvLWNvbW1vbi1nYXA7XHJcbiAgfVxyXG4gIC5vcHRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgJiArIC5zc28tc2VwZXJhdG9yIHtcclxuICAgICAgbWFyZ2luLXRvcDogJHNzby1jb21tb24tZ2FwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3NvLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJHNzby1idXR0b24td2lkdGgpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIC8vIFVzaW5nIG1pY3Jvc29mdCBidXR0b24gc3ZnIHdpZHRoICYgaGVpZ2h0IHRvIGdpdmUgb3VyIGFzcGVjdCByYXRpby4gaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2VudHJhL2lkZW50aXR5LXBsYXRmb3JtL2hvd3RvLWFkZC1icmFuZGluZy1pbi1hcHBzXHJcbiAgICBhc3BlY3QtcmF0aW86IDIxNS80MTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJHNzby1idXR0b24td2lkdGgpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5taWNyb3NvZnQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JHNoYXJlZC1idXR0b25zLWRpcmVjdG9yeSArIGlmKCRzc28tYnV0dG9uLW1pY3Jvc29mdC10aGVtZSA9PSBcImxpZ2h0XCIsXCJtaWNyb3NvZnQtc3NvLWxpZ2h0LnN2Z1wiLFwibWljcm9zb2Z0LXNzby1kYXJrLnN2Z1wiKX0nKTtcclxuICAgIH1cclxuICB9XHJcbiAgLnNzby1zZXBlcmF0b3Ige1xyXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNzby1zZXBlcmF0b3ItZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxufSIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gIDIwLiBGb3Jtc1xyXG4vLyAgMjEuIExhYmVsXHJcbi8vICAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMy4gTWVudVxyXG4vLyAgMjQuIE1ldGVyXHJcbi8vICAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAgMjYuIE9yYml0XHJcbi8vICAyNy4gUGFnaW5hdGlvblxyXG4vLyAgMjguIFByb2dyZXNzIEJhclxyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICA0Ny4gUmV2ZWFsXHJcbi8vICA0OC4gU2xpZGVyXHJcbi8vICA0OS4gU3dpdGNoXHJcbi8vICA1MC4gVGFibGVcclxuLy8gIDUxLiBUYWJzXHJcbi8vICA1Mi4gVGh1bWJuYWlsXHJcbi8vICA1My4gVGl0bGUgQmFyXHJcbi8vICA1NC4gVG9vbHRpcFxyXG4vLyAgNTUuIFRvcCBCYXJcclxuLy8gIDU2LiBYeSBHcmlkXHJcbi8vIEZvdW5kYXRpb24gU0FTUyBmdW5jdGlvbi5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuLy8gRXhwcmVzcyBjb25maWd1cmF0aW9uO1xyXG5AaW1wb3J0ICd2YXJpYWJsZXMuc2Nzcyc7XHJcbi8vIEV4cHJlc3MgTUlYSU4ncy5cclxuQGltcG9ydCAnbWl4aW5zJztcclxuLy8gRXhwcmVzcyB0eXBvZ3JhcGh5LlxyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5LnNjc3MnO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQ7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAkY29sb3VyNCxcclxuICBzZWNvbmRhcnk6ICRjb2xvdXIzLFxyXG4gIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbik7XHJcbiRsaWdodC1ncmF5OiAkY29sb3VyMy0xO1xyXG4kbWVkaXVtLWdyYXk6ICRjb2xvdXIzLTI7XHJcbiRkYXJrLWdyYXk6ICRjb2xvdXIzLTM7XHJcbiRibGFjazogJGNvbG91cjI7XHJcbiR3aGl0ZTogJGNvbG91cjE7XHJcbiRib2R5LWJhY2tncm91bmQ6IG51bGw7IC8vIFRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IGF4aXMtcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnMuXHJcbiRib2R5LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kYm9keS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZztcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogcG9pbnRlcjtcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiA2NDBweCxcclxuICBsYXJnZTogJGdsb2JhbC13aWR0aCwgLy8gUmFpc2luZyBsYXJnZSBicmVha3BvaW50IHZhbHVlLCBzbyBhdCAxNTAlIHpvb20gd2UgZ28gaW50byBtb2JpbGUuXHJcbiAgeGxhcmdlOiAxNjAwcHgsXHJcbiAgeHhsYXJnZTogMTkyMHB4XHJcbik7XHJcbiRicmVha3BvaW50cy1oaWRwaTogKFxyXG4gIGhpZHBpLTE6IDEsXHJcbiAgaGlkcGktMS01OiAxLjUsXHJcbiAgaGlkcGktMjogMixcclxuICByZXRpbmE6IDIsXHJcbiAgaGlkcGktMzogM1xyXG4pO1xyXG4kcHJpbnQtYnJlYWtwb2ludDogbWVkaXVtOyAvLyBUaGUgcmVhc29uIGZvciBsb3dlcmluZyB0aGlzIGlzIHRoaXMgd2lsbCBhbGxvdyB0aGUgcmVzcG9uc2l2ZSB0YWJsZSBicmVha3BvaW50IGtpY2sgaW4gZ2l2ZW4gd2UncmUgZ29pbmcgYWJvdmUgMTMwMHB4IGRlbnNlIHRhYmxlcyB3b3VsZCBiZSBiZXR0ZXIgc2hvdyBpbiBtb2JpbGUgdmlldy5cclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UpO1xyXG5cclxuLy8gMy4gVGhlIEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweCxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIElNUE9SVEFOVDogRE8gTk9UIFVTRSBUSEVTRSBDT05GSUdVUkFUSU9OIE9QVElPTlMgVEhFIFNBU1MgRklMRSBJUyBOTyBMT05HRVIgQkVJTkcgSU1QT1JURUQgQU5EIEVYUFJFU1MgSEFORExFUyBIRUFESU5HIEZPTlRTIElUU0VMRiBTRUUgX1RZUE9HUkFQSFkuU0NTU1xyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAzNSksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LWVycm9yLWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xyXG5cclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuLy8gSW5zdGVhZCBvZiB1c2luZyBmb3VuZGF0aW9uJ3MgaW5kaWNhdG9ycyB3ZSB1c2Ugb3VyIG93biBkdWUgdG8gcG9zaXRpb25pbmcuXHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiBmYWxzZTtcclxuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygkYWNjb3JkaW9ucy10aXRsZS1mb250LXNpemUpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWNvbG91cik7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkY29sb3VyMTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAwO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LWFycm93czogZmFsc2U7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKCRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiBudWxsO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6ICRicmVhZGNydW1icy11cHBlcmNhc2U7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJyZWFkY3J1bWJzLXNlcGVyYXRvcik7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1zZXBlcmF0b3ItY29sb3VyO1xyXG5cclxuLy8gMTEuIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xyXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xyXG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiAwO1xyXG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcclxuJGJ1dHRvbi1zaXplczogKFxyXG4gIHRpbnk6IDAuNnJlbSxcclxuICBzbWFsbDogMC43NXJlbSxcclxuICBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgbGFyZ2U6IDEuMjVyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xyXG5cclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiAwO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xyXG4kY2FsbG91dC1zaXplczogKFxyXG4gIHNtYWxsOiAwLjVyZW0sXHJcbiAgZGVmYXVsdDogMXJlbSxcclxuICBsYXJnZTogM3JlbSxcclxuKTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6IDA7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENhcmRcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xyXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gIHNtYWxsOiAwLjY2cmVtLFxyXG4gIG1lZGl1bTogMjZweCwgLy8gYWRkaW5nIHBvc3NpdGlvbiByaWdodCB0byBiZSBpbmxpbmUgd2l0aCBhY2NvcmRpb24gc3RhdHVzIGFycm93cy5cclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gIHNtYWxsOiAwLjMzZW0sXHJcbiAgbWVkaXVtOiBhdXRvLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gIHNtYWxsOiAxLjVlbSxcclxuICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gIHRpbnk6IDEwMHB4LFxyXG4gIHNtYWxsOiAyMDBweCxcclxuICBsYXJnZTogNDAwcHgsXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gVGFraW5nIGJhY2sgb3duZXJzaGlwIGZyb20gZm91bmRhdGlvbiBvbiBhcnJvdyBmdW5jdGlvbiBkdWUgdG8gbmVlZGluZyB0byBhbGxvdyBmb3IgY29uZmlndXJhdGlvbiBmb3IgaWNvbnMuXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4vLyBUaGVzZSB2YWx1ZXMgd2VyZSBzZXQgdG8gbnVsbCBhcyB0aGV5IHdlcmUgY29uZmxpY3Rpbmcgd2l0aCB0aGUgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyIGNvbG91ciBzY2hlbWVzIGJhc2ljYWxseSBjYXVzaW5nIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciB0byBiZSB0aGUgc2FtZSBhcyB0aGUgY29udGVudCBjb2xvdXIuXHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBudWxsO1xyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBudWxsO1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuLy8kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xyXG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRpbnB1dC1jb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkZWZhdWx0KTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3VyO1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJGlucHV0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xyXG4kaW5wdXQtc2hhZG93OiAwO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAkYm94U2hhZG93MztcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMS4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiRsYWJlbC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjMuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xyXG4vLyBEaXNhYmxpbmcgdGhpcyBpbiBmYXZvdXIgb2Ygc3R5bGVzIGluIF9heGlzLW1lbnVzLnNjc3NcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IG51bGw7XHJcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogbnVsbDtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IGZhbHNlO1xyXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogZmFsc2U7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiBmYWxzZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuICBsYXJnZTogNDAwcHhcclxuKTtcclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKTtcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkY29sb3VyMTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDA7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDA7XHJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogNDAwMDtcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XHJcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gIGRvd24sXHJcbiAgdXAsXHJcbiAgcmlnaHQsXHJcbiAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgaW5saW5lLFxyXG4gIGlubGluZS1ibG9jayxcclxuICBibG9jayxcclxuICB0YWJsZSxcclxuICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgZGlzYyxcclxuICBjaXJjbGUsXHJcbiAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gIHN0YXRpYyxcclxuICByZWxhdGl2ZSxcclxuICBhYnNvbHV0ZSxcclxuICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAyNTogMjUlLFxyXG4gIDUwOiA1MCUsXHJcbiAgNzU6IDc1JSxcclxuICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gIG92ZXJsaW5lLFxyXG4gIHVuZGVybGluZSxcclxuICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkY29sb3VyNjtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG91cjQ7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuNDFyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAwO1xyXG4kdGFibGUtcGFkZGluZzogMDtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogJHRib2R5LXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6ICR0Ym9keS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4kdGFibGUtc3RyaXBlOiBvZGQ7XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiAkY29sb3VyMDtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7IC8vIFByZXNldC0xIGlzIHByZXR0eSBtdWNoIHdoYXQgd2UncmUgdXNpbmcgZXZlcnl3aGVyZSBzbyBjaGFuZ2luZyB0byBiZSBjb25zaXN0ZW50LlxyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiBub25lO1xyXG4kdGFiLWNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6IG5vbmU7XHJcbiR0YWItYWN0aXZlLWNvbG9yOiBtYXAtZ2V0KCR0YWJzLXRpdGxlLWNvbG91ciwgYWN0aXZlKTtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoJHRhYnMtdGl0bGUtZm9udC1zaXplKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvdXIwO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMDtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6IG5vbmU7XHJcbiR0YWItY29udGVudC1ib3JkZXI6ICRjb2xvdXIwOyAvLyBTZXQgdG8gdHJhbnNwYXJlbnQgYW5kIG92ZXJyaWRlIHdpdGggRXhwcmVzcydzIFNBU1MuXHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxMHB4OyAvLyBTZXR0aW5nIGRlZmF1bHQgdmFsdWUgYnV0IHRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgYnkgRXhwcmVzcydzIFNBU1MgJHRhYnMtY29udGVudC1wYWRkaW5nLlxyXG5cclxuLy8gNTIuIFRodW1ibmFpbFxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcclxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcclxuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XHJcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTMuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xyXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XHJcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcblxyXG4vLyA1NC4gVG9vbHRpcFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDU1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDA7XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkbWVudXMtc3VibWVudS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XHJcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XHJcblxyXG4vLyA1Ni4gWHkgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHh5LWdyaWQ6IHRydWU7XHJcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uczogMTI7XHJcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXHJcbiAgc21hbGw6IHNtYWxsLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycyksXHJcbiAgbWVkaXVtOiBtZWRpdW0tdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKVxyXG4pO1xyXG5cclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAoXHJcbiAgc21hbGw6IHNtYWxsLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycyksXHJcbiAgbWVkaXVtOiBtZWRpdW0tdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKVxyXG4pO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogMjBweDtcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuIiwiLypcclxuLS0tLS0gU2l0ZSBTdHlsZXMgLS0tLS0gXHJcbkFsbG93aW5nIENTUyB2YXJpYWJsZXMgdG8gb3ZlcnJpZGUgU0FTUyBjb25maWd1cmF0aW9uLCB1c2VkIGluIGluc3RhbmNlcyB3aGVyZSB5b3UgbmVlZCBkZXBhcnRtZW50IHNwZWNpZmMgY29sb3VyaW5nLlxyXG5cclxuKi9cclxuXHJcbi8vIFRPRE86IHJlbW92ZSBkZXBhcnRtZW50IHJlZmVyZW5jZXMgZnJvbSBkb2N1bWVudGF0aW9uIGJ1aWxkLlxyXG5AaWYgKGxlbmd0aCgkc2l0ZS1zdHlsZXMtY29sb3VycykgPiAwKSB7XHJcbiAgICAuZGVwYXJ0bWVudC1jb2xvdXItcGFsZXR0ZSwgLnNpdGUtc3R5bGUge1xyXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCBzdHlsZSBzZXRzLlxyXG4gICAgICAgIEBmb3IgJGluZGV4IGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2l0ZS1zdHlsZXMtY29sb3Vycykge1xyXG4gICAgICAgICAgICAvLyBHZXQgc3R5bGUgc2V0XHJcbiAgICAgICAgICAgICRzdHlsZS1zZXQ6IG50aCgkc2l0ZS1zdHlsZXMtY29sb3VycywgJGluZGV4KTtcclxuICAgICAgICAgICAgQGlmICgkc3R5bGUtc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgcHJpbWFyeSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkc2V0LXByaW1hcnktY29sb3VyOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkc3R5bGUtc2V0LCBwcmltYXJ5LWNvbG91cikpIHtcclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXByaW1hcnktY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDA6IG1hcC1nZXQoJHN0eWxlLXNldCwgcHJpbWFyeS1jb2xvdXIpXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdmFyaWFudHMuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1wcmltYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZXQtcHJpbWFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHNldC1wcmltYXJ5LWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gR2V0IHNlY29uZGFyeSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkc2V0LXNlY29uZGFyeS1jb2xvdXI6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRzdHlsZS1zZXQsIHNlY29uZGFyeS1jb2xvdXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gR2V0IHNlY29uZGFyeSBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNldC1zZWNvbmRhcnktY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDA6IG1hcC1nZXQoJHN0eWxlLXNldCwgc2Vjb25kYXJ5LWNvbG91cilcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB2YXJpYW50cy5cclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXNlY29uZGFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkc2V0LXNlY29uZGFyeS1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHNldC1zZWNvbmRhcnktY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBzdHlsZSBzZXQgY2xhc3MgJiBhc3NpZ24gY29sb3VyIG92ZXJyaWRlIHZhcmlhYmxlLlxyXG4gICAgICAgICAgICAgICAgJi5kZXBhcnRtZW50LSN7JGluZGV4fSwgJi5zdHlsZS0jeyRpbmRleH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFByaW1hcnkgQ29sb3VyXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc2V0LXByaW1hcnktY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInByaW1hcnktY29sb3VyXCIsICRzZXQtcHJpbWFyeS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBTZW9uZGFyeSBDb2xvdXJcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzZXQtc2Vjb25kYXJ5LWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJzZWNvbmRhcnktY29sb3VyXCIsICRzZXQtc2Vjb25kYXJ5LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIEB3YXJuIFwiU2l0ZSBTdHlsZXM6IE5vIHNldCBmb3VuZCBmb3IgI3skc3R5bGUtc2V0fSwgZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyAtLS0tLS0tIENvbnRhaW5zIGFsbCBzdHlsZXMgcmVnYXJkaW5nIGZvcm0gbGF5b3V0cywgaWYgeW91J3JlIGxvb2tpbmcgZm9yIGlucHV0IG9yIHNlbGVjdCBzdHlsZXMgcGxlYXNlIHJlZmVyIHRvIGlucHV0cy5zY3NzIC0tLS0tLS1cclxuXHJcblxyXG4vLyBUT0RPOiBDdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgcmVmYWN0b3JpbmcgY29kZSB0byB0aGlzIGZpbGUuXHJcblxyXG5cclxuLnJlcXVpcmVkLXByb21wdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1wYWRkaW5nKTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1tYXJnaW4pO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZXF1aXJlZC1wcm9tcHQtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcmVxdWlyZWQtcHJvbXB0LWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zdHlsZTogJHJlcXVpcmVkLXB0b21wdC1mb250LXN0eWxlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtcGFkZGluZyk7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICArIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbn1cclxuLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBUcnkgdG8gcHJldmVudCB0ZXh0IGZyb20gc3Bhbm5pbmcgdG9vIHdpZGUuXHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICAvLyBKdXN0IHRvIGtlZXAgdGhlIHRvcCBhbmQgYm90dG9tIGlubGluZSB3aXRoIHRoZSBwYWRkaW5nIGNhdXNlZCBieSB0aGUgYWxlcnQgaWNvbi5cclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkc2EtbWFyZ2luLCAxKTtcclxuICAgIH1cclxuICAgICYuY29udGVudC1ib3JkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBGb3JtcyAtLS0tLS0gXHJcbmZvcm0ge1xyXG4gICAgJi51c2VyLWRhdGEtZm9ybSB7XHJcbiAgICAgICAgLy8gQWRqdXN0aW5nIHBhZGRpbmctYm90dG9tIGZvciBTU08gZm9ybSBkZXNpZ24gXHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgLy8gR290IHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvdXIganVzdCBhIHBhZ2UgYmFja2dyb3VuZCBpbWFnZSBpcyBzZXQuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zaW5nbGUtY29sdW1uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGJvcmRlcjogJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmllbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgbm9ybWFsbHkgdGhlIHN1Ym1pdCBidXR0b24uXHJcbiAgICAgICAgICAgICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdG8gYWxsb3cgaW5wdXQgdG8gdGFrZSB1cCBhdmFsYWJsZSB3aWR0aC5cclxuICAgICAgICAvLyAucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gICAgIGlucHV0IHtcclxuICAgICAgICAvLyAgICAgICAgbWFyZ2luLXJpZ2h0OiAtI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWVkaXVtLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItdGV4dC1hbGlnbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiA0NjVweDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGFyZ2UtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMywgZGl2ID4gbGVnZW5kIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgJGNvbG91cjQsICRoZWFkaW5nLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyLCBsZWdlbmQge1xyXG5cclxuICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZmllbGRzZXQtaGVhZGluZy1jb2xvdXIsICRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRzZXQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGRzZXQtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRoZWFkaW5nLTItcGFkZGluZywgMywgcHJlc2V0LTQpID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBSZS1hZGp1c3RpbmcgdGhlIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgYSBydWxlLlxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCkgPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIC5zdWItZ3JvdXAtbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsZWdlbmQge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWItZ3JvdXAtbmFtZSB7XHJcblxyXG4gICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgJHN1Yi1oZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMiwgJGNvbG91cjMpOyBcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgY29sb3I6ICRzdWItaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICYgKyAucmVxdWlyZWQtcHJvbXB0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmVycm9yLWJsb2NrIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3Npbmcgc28gdGhpcyBsb29rIGNvbnNpc3RlbnQgd2l0aCBmb3JtcyBpbiBhIGxhcmdlLTYgY2VsbC5cclxuICAgICAgICAgICAgLy8gICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgNjhweCAwIDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogKCRmaWVsZC1sYWJlbC1tYXJnaW4tbGVmdCArIChsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpIC0gNzApICsgbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvL21hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5jb2x1bW4tY29udGVudC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiBtYXAtZ2V0KCRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAvLyBBZGRpbmcgYmFja2dyb3VuZC1jb2xvciBkdWUgdG8gaWYgYSBwYWdlIGJhY2tncm91bmQgaXMgYWN0aXZlLlxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3JkZXI6ICRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNvbHVtbi1jb250ZW50LWNvbnRhaW5lci1tYXJnaW4sIGxhcmdlKTtcclxuICAgIH1cclxuICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuZmllbGRzZXQtYmFubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmllbGRzZXQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAmICsgaDIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5maWVsZCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGZpZWxkLWxhYmVsLW1hcmdpbi1sZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCA3LjVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDg1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDYXB0Y2hhIC0tLS0gXHJcbi5jYXB0Y2hhLWNvbnRhaW5lciB7XHJcbiAgICAvLyBBZGRpbmcgcG9zaXRpb24gYWJzb2x1dGUgYXMgcmVjYXB0Y2hhJ3MgaW5saW5lIHN0eWxlcyBhcmUgY2F1c2luZyBtb2RhbHMgdG8gYmUgcHVzaGVkIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0LlxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgICYuY2hlY2tib3gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgfVxyXG4gICAgLmdyZWNhcHRjaGEtYmFkZ2Uge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgR29vZ2xlJ3Mgc3R5bGVzIGR1ZSB0byBvdmVybGFwcGluZyB0aGUgc3RpY2t5IGJ1dHRvbnMgaW4gbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgIGJvdHRvbTogNjBweCAhaW1wb3J0YW50OyBcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5wb3B1cC1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLyAtLS0tLSBDb25maXJtYXRpb24gLS0tLS0gXHJcblxyXG4uY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIge1xyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogKCRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmcgLyAzKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCgpLCAocHJlc2V0LTE6IDAgYXV0byA1MHB4KSk7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAod2lkdGg6IDIzMHB4KSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYud2FybmluZywgJi5hbGVydCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSksXCJcIiw3MDAsICh3aWR0aDogMjMwcHgpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDQ1cHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWNvbG91ciwgJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91ciwgXCJcIiwgNzAwLCAod2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAwIDIyLjVweCAxMHB4LCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xyXG4gICAgfVxyXG4gICAgJi5tYXJnaW4tYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXN1Y2Nlc3M7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC13YXJuaW5nO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWFsZXJ0O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gSGVhZGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVXBwZXIgKyBsb3dlciBuYXZpZ2F0aW9uIGJhcnMuXHJcbi0gU2l0ZSBsb2dvXHJcbi0gSGVhZGVyIHN0aWNreSBmdW5jdGlvbmFsaXR5OlxyXG4gIC0gRnVsbFxyXG4gIC0gTWluaWZpZWRcclxuICAtIE5vIFRvcCBCYXJcclxuICAtIE1lbnVcclxuLSBWQVQgU3dpdGNoZXJcclxuLSBCcmVhZGNydW1ic1xyXG4tIEJhc2tldCBTdW1tYXJ5IFxyXG4tIENhbGxvdXRzIGluIHRoZSBoZWFkZXIgdG8gbW9kaWZ5IGNhbGxvdXQgc2VlIGF4aXMtbm90aWZpY2F0aW9uLnNjc3NcclxuLSBQcmVkaWN0aXZlIHNlYXJjaCBwb3NpdGlvbmluZyB0byBtb2RpZnkgc2VhcmNoIHN0eWxlIHRoZW4gZ28gdG8gYXhpcy1hdXRvY29tcGxldGUuc2Nzc1xyXG4tIFVTUCBiYXIgd2hpY2ggaXMgZXNzZW50aWFsbHkgYSBtb2R1bGUuXHJcbi0gV2VsY29tZSBUZXh0XHJcbi0gVGFnIGxpbmVzXHJcbi0gVE9ETzogSSBhbSBjdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgdHJ5aW5nIHRvIHVudGFuZ2xlIHRoZSBtZWdhIG1lbnUgY3NzICsgbWFrZSBpdCBtb3JlIGdlbmVyaWMgYW5kIHJlaG9tZSBpdCBpbnNpZGUgb2YgYXhpcy1tZW51cy5zY3NzXHJcbiovXHJcblxyXG5cclxuLy8tLS0tLSBTdGlja3kgSGVhZGVyIC0tLS0tIFxyXG5oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRoZWFkZXItbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRoZWFkZXItbWFyZ2luKTtcclxuICAgIH1cclxuICAgIFtkYXRhLWF4aXMtc3RpY2t5XSB7XHJcbiAgICAgICAgei1pbmRleDogMjAwMDtcclxuICAgICAgICAmLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5ID09IDEpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eSA9PSAxKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBNb2JpbGUgLyBUYWJsZXQgZG9lc24ndCBoYXZlIGFueSBjb25maWcgYWxsIGl0IHNob3dzIGlzIHRoZSBsb2dvICsgdG9nZ2xlIGJhci5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDIwMDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDEuNXMgZWFzZS1vdXQ7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRoZWFkZXItaXMtc3R1Y2stb3BhY2l0eSA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL1Nob3cgZnVsbCBoZWFkZXIgd2hlbiBzdGlja3kuXHJcbiAgICAgICAgICAgIC8vICZbZGF0YS1zdGlja3ktdHlwZT1cIkZ1bGxcIl0ge1xyXG4gICAgICAgICAgICAgICAgLy9ObyBTcGVjIGZvciB0aGlzIHlldC5cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAvL1JlbW92ZSB0b3AtYmFyIHdoZW4gc3RpY2t5LlxyXG4gICAgICAgICAgICAmW2RhdGEtc3RpY2t5LXR5cGU9XCJOb1RvcEJhclwiXSB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzcyB0b3AtYmFyLCByZWR1Y2UgaGVhZGVyLWNvbnRlbnQgaGVpZ2h0IGJ1dCByZXRhaW4gbWVnYSBtZW51LlxyXG4gICAgICAgICAgICAmW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0ge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtbGVmdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1tYXJnaW4sIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1tYXJnaW4sIDMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb25JbnRybywgbWFyZ2luLWJvdHRvbSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LWNlbnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLW1pbmlmaWVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGhlYWRlci1sb2dvLXdpZHRoLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItYWNjb3VudC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgI2FjdGlvbi1iYXItY29udGFpbmVyICB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGhlYWRlci1taW5pZmllZC1oZWlnaHQgLSAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLXBhZGRpbmcsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnViYmxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogKCRoZWFkZXItc2VhcmNoLWhlaWdodCAtIDUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYWpheC1zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbW1lbnRpbmcgb3V0IGFzIHRoaXMgY2F1c2UgdGhlIHJlc3VsdHMgdG8gb3ZlcmZsb3cgdGhlIHZpZXdwb3J0IGZvciBraW5nc2ZpZWxkLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gU28gYmFza2V0IGdldHMgdmVydGljYWxseSBhbGlnbmVkLlxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE5vcm1hbGx5IGJ1dHRvbiBjb250YWluZXJzIHNpdCBoZXJlIGluIGEgZGl2IHNvIHNlbGVjdGluZyBhbGwgZGlyZWN0IGRpdnMuXHJcbiAgICAgICAgICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaG9tZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7JGhvbWUtYnV0dG9uLWljb24tc2l6ZSAvIDEuMn07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICN7KHNwYWNpbmctdmFsdWUoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZywgMSkgLyAyLjIpfSAjeyhzcGFjaW5nLXZhbHVlKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcsIDIpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nICR0cmFuc2l0aW9uSW50cm8sIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkje2lmKCRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcsIFwiOm5vdCguaG9tZS1idXR0b24pXCIsIFwiXCIpfSA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItbWluaWZpZWQtbWVnYS1tZW51LXBhcmVudC1ncm91cC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRoZWFkZXItbWluaWZpZWQtbWVnYS1tZW51LXBhcmVudC1ncm91cC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogI3sobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSkgLyAyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAjeyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvLCBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmW2RhdGEtc3RpY2t5LXR5cGU9XCJNZW51XCJdIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIsIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLW1pbmlmaWVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGhlYWRlci1sb2dvLXdpZHRoLCBtaW5pZmllZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIENvbnRhaW5lciAtLS0tLSBcclxuLy8gQ29udGFpbmVyIGFmdGVyIHN0aWNreSBjb250YWluZXIuXHJcbmhlYWRlciAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpZiAkaGVhZGVyLWNvbnRlbnQtZ3JhZGlhbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItY29udGVudC1ncmFkaWFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLW1vYmlsZS1zZXBlcmF0b3ItcnVsZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgLy8gcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItZGVza3RvcC1zZXBhcmF0b3IpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2UpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZS1wb3NpdGlvbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBDb250ZW50IFJlc3BvbnNpdmUgVG9nZ2xlIEJhciAoIGJhc2ljYWxseSBtb2JpbGUgdmlldyApIC0tLS0tXHJcbi5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xyXG4gICAgbWF4LXdpZHRoOiA3MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBvcmRlcjogMjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbG91ciBwcm9jZXNzaW5nIHRvIG1ha2Ugc3VyZSBidXR0b25zIGFyZSBsZWdpYmFsLi5cclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkdG9nZ2xlLWRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1yZXNwb25zaXZlLWNvbG91ciwgZGVmYXVsdCksICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgJHRvZ2dsZS1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXJlc3BvbnNpdmUtY29sb3VyLCBob3ZlciksICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6ICRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXNpemU7XHJcbiAgICAgICAgLy8gU2V0IGhlaWdodCB0byAxMDAlIGlmIHZhbHVlID09IGZpdC1jb250ZW50IHRvIHByZXZlbnQgZGlmZmVyZW50IGhlaWdodHMgYW5kIGljb25zIGFwcGVhcnMgc3RhZ2dlcmVkLlxyXG4gICAgICAgIGhlaWdodDogaWYoJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZSA9PSBmaXQtY29udGVudCwgMTAwJSwgJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZSk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0b2dnbGUtZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9nZ2xlLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhW2hyZWZePVwidGVsOlwiXSB7XHJcbiAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0ICB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0IDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCB0ZWxlcGhvbmUpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tdGVsZXBob25lLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIG1haWwpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlbWFpbCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItdG9nZ2xlLXNlYXJjaCB7XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCBzZWFyY2gpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzZWFyY2gpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tc2VhcmNoLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXNrZXQge1xyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgYmFza2V0KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBoYW1idXJnZXIpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20taGFtYnVyZ2VyLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItaGFtYnVyZ2VyLWljb24tc2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItaGFtYnVyZ2VyLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1hY2NvdW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWFjY291bnQtaWNvbik7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci1tb2JpbGUtbWVudSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB6LWluZGV4OiAkaGVhZGVyLW1vYmlsZS1tZW51LXotaW5kZXg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAvLyBNb2JpbGUgLyBUYWJsZSBzcGVjaWZjIHN0eWxlcy5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHotaW5kZXg6IGF1dG87XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmLmFuaW1hdGUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAxMHB4O1xyXG4gICAgICAgIC8vIFNvIGlmIG1lbnUncyBnZXQgY29tYmluZWQgdGhleSdyZSB0aGVuIGNvbnNpc3RlbnQgd2l0aCB0aGUgbWVnYSBtZW51LlxyXG4gICAgICAgIHVsLm1lbnUgPiBsaSA+IGF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBUb3AgQmFyIC0tLS0tXHJcbi8vIFR5cGljYWxseSBjb250YWN0IGluZm8gZ2V0cyBkaXNwbGF5ZWQgaGVyZSArIGNtcyBwYWdlIGxpbmtzIGJ1dCB0aGlzIGdldHMgc3VwcHJlc3NlZCBmb3IgbW9iaWxlLlxyXG4uaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIGNvbnRlbnQgY29udGFpbmVyIC0tLS0tXHJcbi8vIFRoaXMgaXMgdGhlIGFyZWEgbm9ybWFsbHkgYmV0d2VlbiB0aGUgdG9wLWJhciAmIG1lZ2EtbWVudVxyXG4uaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBtZWRpdW0tdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBtaW4taGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbWluLWhlaWdodDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gTm8gbG9uZ2VyIHVzaW5nIGZsZXhib3ggZHVlIHRvIGplbGF3cmVuY2UncyBkZXNpZ24uXHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcclxuICAgICAgICAvLyBUaGUgY29sdW1uIGxheW91dCBmb3IgdGhlIGhlYWRlci5cclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRoZWFkaW5nLWdyaWQtdGVtcGxhdGUtY29sdW1ucztcclxuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICh4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICh4eGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogeHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIENvbW1vbiBoZWFkZXIgc3R5bGVzIGJldHdlZW4gYXJlYXMgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCwgLmhlYWRlci1jb250ZW50LWNlbnRlciwgLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcclxuICAgIC8vIEluIG1vYmlsZSBzdXByZXNzIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50cy5cclxuICAgID4gZGl2IHtcclxuICAgICAgICAvLyBFeGNsdXNpb24gbGlzdC5cclxuICAgICAgICBAaW5jbHVkZSBub3QoJGhlYWRlci1jb21wb25lbnQtZGlzcGxheS1saXN0KSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBjb250ZW50IGxlZnQgLS0tIFxyXG4uaGVhZGVyLWNvbnRlbnQtbGVmdCB7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXRlbXBsYXRlLWNvbHVtbnMpO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3BhbiAyIHJvd3MuXHJcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgLW1zLWdyaWQtcm93LXNwYW46IDI7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtbGVmdCcpKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBtYXAtZ2V0KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1sZWZ0Jyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1hbGlnbi1pdGVtcykge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGhlYWRlci1jb250ZW50LWxlZnQtYWxpZ24taXRlbXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtanVzdGlmdHktY29udGVudCkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXItY29udGVudC1sZWZ0LWp1c3RpZnR5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LXRlbXBsYXRlLWNvbHVtbnMsIHh4bGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LCAuZHJvcGRvd24ubWVudSAge1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LW1hcmdpbjtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgLy8gR2V0IGl0ZW0gcGFkZGluZy5cclxuICAgICAgICAgICAgJGl0ZW0tcGFkZGluZzogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtc3VwcHJlc3MtZmlyc3QtaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZSkge1xyXG4gICAgICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIsIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgPiBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1jb250YWluZXIgdWwsIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBHZXQgYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAgICAgICAgICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBHZXQgYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAgICAgICAgICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIC8vIEdldCBob3ZlciBjb2xvdXIuXHJcbiAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaG92ZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIEdldCBkZWZhdWx0IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtZW5hYmxlLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGhvdmVyLWNvbG91ciksIDAsICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtdW5kZXJsaW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBjb250ZW50IGNlbnRlciAtLS0gXHJcbi5oZWFkZXItY29udGVudC1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXItY29udGVudC1jZW50ZXItanVzdGlmeS1jb250ZW50O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWNlbnRlcicpKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBtYXAtZ2V0KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1jZW50ZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1jZW50ZXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWNvbnRhaW5lci1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgIC8vIFB1dCB0aGlzIGlzIHNwZWNpZmljYWxseSBmb3Igd2VhcmVzeW5jIHRvIG9mZnNldCB0aGUgaGVhZGVyIGNvbnRlbnQgbWVudSB0byBtYXRjaCB0aGVpciBvcmlnaW5hbCBzaXRlLlxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtY29udGFpbmVyLW1hcmdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LCAuZHJvcGRvd24ubWVudSB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBGaXguXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgaGVhZGVyIGJhY2tncm91bmQgZG9lc24ndCBtYXRjaCBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBIZWFkZXIgY29udGVudCByaWdodCAtLS0gXHJcbi5oZWFkZXItY29udGVudC1yaWdodCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgbGVmdDogaW5oZXJpdDtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBzZWFyY2ggdG8gb3ZlcmxhcCB3aXRoIHJlY2VudGx5IGFkZGVkLlxyXG4gICAgLy8gei1pbmRleDogMTAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6ICRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5O1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zKTtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmICRoZWFkZXItY29udGVudC1yaWdodC1hbGlnbm1lbnQge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGhlYWRlci1jb250ZW50LXJpZ2h0LWFsaWdubWVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIC1tcy1ncmlkLXJvdzogMjtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1yaWdodCcpKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiBtYXAtZ2V0KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1yaWdodCcpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFNvIGhpZ2ggZHVlIHRvIHVuZGVybGFwcGluZyBoZWFkZXIgbWVudSBkcm9wZG93bidzLlxyXG4gICAgICAgIC8vIHotaW5kZXg6IDIwMDAwMDtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5ID09IGdyaWQpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1yaWdodC10ZW1wbGF0ZS1jb2x1bW5zLCB4bGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnMsIHh4bGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1tYXJnaW4pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItbWFyZ2luO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LXJpZ2h0LXRvZ2dsZS1iYXItcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgLy8gR2V0IGRlZmF1bHQgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LXN1cHByZXNzLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBzaXRlIGxvZ28gLS0tLS0gXHJcbi5sb2dvQ29udGFpbmVyLCAubG9nby1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRsb2dvLWNvbnRhaW5lci1qdXN0aWZ5O1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGxvZ28tY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRsb2dvLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIG1heC13aWR0aDogNTB2dztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRoZWFkZXItbG9nby1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGhlYWRlci1sb2dvLWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRoZWFkZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYSB0aGUgbWFqb3JpdHkgb2YgbG9nbydzIGFyZSBub3Qgc3F1YXJlIGFuZCBhIG1vcmUgc2ltcGxlIHNvbHV0aW9uIHdvdWxkIGJlIGp1c3QganVzdCBzY2FsZSBieSB3aWR0aC5cclxuICAgICAgICAvL2hlaWdodDogc21hbGwtdmFsdWUoJGhlYWRlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGhlYWRlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkaGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAyNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxvZ29GdWxsLCAubG9nby1mdWxsLXNpemUge1xyXG4gICAgICAgIEBpZiAkc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9nb01pbmlmaWVkLCAubG9nby1taW5pZmllZCB7XHJcbiAgICAgICAgQGlmIG5vdCAkc2hvdy1taW5pZmllZC1sb2dvLXNtYWxsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIFRhZyBMaW5lIC0tLS0tIFxyXG4uaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcCB7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29sb3VyIGNvbnRyYXN0LlxyXG4gICAgICAgICRjb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGhlYWRlci10YWdsaW5lLWNvbG91ciwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZztcclxuICAgICAgICBjb2xvcjogJGNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci10YWdsaW5lLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdGFnbGluZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRlci10YWdsaW5lLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgLy8gUmVhc29uIGZvciBwcmV2ZW50IHdyYXBwaW5nIGlzIGJlY2F1c2UgaXQgd2lsbCBjYXVzZSB0aGUgc2VhcmNoICsgYmFza2V0IHN1bW1hcnkgdG8gYmUgb3V0IG9mIGFsaWduLlxyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgJjppcyg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogaWYoJGhlYWRlci10YWdsaW5lLWhlaWdodCA9PSBcImF1dG9cIiwgMCwgMSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGVyLXRhZ2xpbmUtbG93ZXItc3VwcHJlc3MpIHtcclxuICAgICAgICAmLmxvd2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkZXItdGFnbGluZSB7XHJcbiAgICAvLyBDaGVjayBjb2xvdXIgY29udHJhc3QuXHJcbiAgICAkY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRoZWFkZXItdGFnbGluZS1jb2xvdXIsICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6ICRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZztcclxuICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZSk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZztcclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtbGluZS1oZWlnaHQ7XHJcbiAgICAvLyBSZWFzb24gZm9yIHByZXZlbnQgd3JhcHBpbmcgaXMgYmVjYXVzZSBpdCB3aWxsIGNhdXNlIHRoZSBzZWFyY2ggKyBiYXNrZXQgc3VtbWFyeSB0byBiZSBvdXQgb2YgYWxpZ24uXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIGhlaWdodDogNTBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1iYXNpczogNTBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgU2VhcmNoIC0tLS0tXHJcbi5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2gge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdykpIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGluZy1zZWFyY2gtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBsYXJnZS12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZmllbGRzZXQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2VhcmNoIGJhY2tncm91bmRcclxuICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkc2VhcmNoLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkc2VhcmNoLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIC8vIFNlYXJjaCBib3JkZXJcclxuICAgICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ciwgXHJcbiAgICBhY3RpdmUpO1xyXG4gICAgLy8gU2VhcmNoIGJ1dHRvbiBiYWNrZ3JvdW5kXHJcbiAgICAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAvLyBTZWFyY2ggYnV0dG9uIGNvbG91clxyXG4gICAgJGJ1dHRvbi1kZWZhdWx0LWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRidXR0b24taG92ZXItY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRidXR0b24tYWN0aXZlLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRzZWFyY2gtZGVmYXVsdC1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24taG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItc2VhcmNoLWlucHV0LWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXN1cHByZXNzLWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGlmICgkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tZGVmYXVsdC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaWNvbi1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXNlYXJjaC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24taG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgIC8vIEhhdmluZyB0byBzZXQgb3JkZXIgZHVlIHRvIHNpdGUgc2VhcmNoIHJlc3VsdHMgaXMgcGxhY2VkIGJlZm9yZSB0aGUgaW5wdXQgKyBidXR0b24gd2hpY2ggZG9lc24ndCB3b3JrIGluIG1vYmlsZSBhcyBpdCBuZWVkcyB0byBhcHBlYXIgYWZ0ZXIgdGhlbS5cclxuICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItc2VhcmNoLWlucHV0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IHRvIHN1cHBvcnQgc2l0ZSBzZWFyY2ggMzYwIG1hcmt1cCB0aGF0IGlzIHVzZWQgb24gQXhpcyBDb3Jwb3JhdGUuXHJcbiAgICAjdW5pYm94LXN1Z2dlc3QtYm94IHtcclxuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgICAgICAvLyBJRiB3ZSdyZSBvdmVycmlkaW5nIHRoZSBoZWFkZXIncyBzZWFyY2ggYnV0dG9uIHdpZHRoIHRoZW4gdXNlIHRoYXQgZWxzZSB1c2UgdGhlIHNpdGUncyBkZWZhdWx0IHdpZHRoLlxyXG4gICAgICAgICRidXR0b24td2lkdGg6IGlmKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCwkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGgsJHNlYXJjaC1idXR0b24td2lkdGgpO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRidXR0b24td2lkdGh9KTtcclxuICAgICAgICAvLyBTZXR0aW5nIG9yZGVyIHNvIHJlc3VsdHMgYXBwZWFyIHVuZGVyIHRoZSBzZWFyY2ggaW4gbW9iaWxlLlxyXG4gICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgLy8gRm9yY2UgcmVsYXRpdmUgcG9zaXRpb25pbmcgc28gdGhlIHJlc3VsdCBhcHBlYXIgaW4gdGhlIHNlYXJjaCBwb3B1cCAvIG1lbnUgZm9yIG1vYmlsZSBkZXZpY2VzLlxyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgc3BhY2luZy12YWx1ZSgkZmllbGRzZXQtaW5wdXQtcGFkZGluZywgNCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudW5pYm94LXNlbGVjdGFibGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBzcGFuLCAudW5pYm94LWhpZ2hsaWdodCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiwgLnVuaWJveC1oaWdobGlnaHQge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYWMtcmVzdWx0cy13aWR0aDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRhYy1yZXN1bHRzLW9mZnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJGlucHV0LWRlZmF1bHQtYm94LXNoYWRvdzogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWlucHV0LWJveC1zaGFkb3csIGRlZmF1bHQpO1xyXG4gICAgICAgICRpbnB1dC1ob3Zlci1ib3gtc2hhZG93OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtaW5wdXQtYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgIEBpZiAoJGlucHV0LWRlZmF1bHQtYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtZGVmYXVsdC1ib3gtc2hhZG93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRpbnB1dC1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGlucHV0LWhvdmVyLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gUHJlZGljdGl2ZSBTZWFyY2ggKCBmb3IgaGVhZGVyICkgLS0tIFxyXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoe1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBub3QgKCRhYy1yZXN1bHQtcGluLXRvLXRvcCkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgIC8vICAgICB6LWluZGV4OiAxMDAwMTtcclxuICAgIC8vIH1cclxuICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCB0b3ApKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCB0b3ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgcmlnaHQpIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgcmlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgbGVmdCkge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIGxlZnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGEuYWNfcmVzdWx0c19lbnRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMGRlJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MmRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uby1yZXN1bHRzIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGluZzIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkaW5nNCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgcGFkZGluZzogNnB4IDE1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY19yZXN1bHRzX2VudHJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgY2FsbCB0byBhY3Rpb24gLS0tLS0gXHJcbi8vIFVzZWQgZm9yIGxvZ2luIGJ1dHRvbiBvciBlbnF1aXJ5IGJ1dHRvbi5cclxuLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyLWhlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRlc2t0b3Atc3VtbWFyeS13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgIC8vIEtlZXAgaW4gc3luYyB3aXRoIHRoZSBoZWFkZXIgc2VhcmNoIGhlaWdodC5cclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIGJhc2tldCBzdW1tYXJ5IC0tLS0tXHJcbiNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1oZWlnaHQ7XHJcbn1cclxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLW1vYmlsZS1tZW51LW1heC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTWFrZSBzdXJlIGJhY2tncm91bmQgY29sb3VyJ3MgY29udHJhc3QgYWdhaW5zdCB0aGUgdGV4dCBjb2xvdXIncyBpbiB0aGVpciB2YXJpb3VzIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlICkuXHJcbiAgICAvLyB3YXJuaW5nIGNvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAkd2FybmluZy1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZykpO1xyXG4gICAgJHdhcm5pbmctYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZykpO1xyXG4gICAgLy8gYWxlcnQgY29udHJhc3QgY2hlY2tlci5cclxuICAgICRhbGVydC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpKTtcclxuICAgICRhbGVydC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCkpO1xyXG5cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIHdhcm5pbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctYWN0aXZlLWNvbG91cjtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFsZXJ0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1wcmV2aWV3LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZWNlbnRseSBhZGRlZC5cclxuICAgIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgei1pbmRleDogNTAwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXIodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCA1cHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkYmFza2V0LXVwZGF0ZS1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudXBkYXRlLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRiYXNrZXQtdXBkYXRlLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC51cGRhdGUtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkYmFza2V0LXVwZGF0ZS1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC51cGRhdGUtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFtkYXRhLWJhc2tldC1zdW1tYXJ5LW5vdGlmaWNhdGlvbnNdIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uaW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQmFza2V0IHN1bW1hcnkgdGhhdCBnZXRzIHNob3duIHByaW1hcmlseSBmb3IgdGhlIGRlc2t0b3AgKCBubyBkcm9wIGRvd24gb3IgcG9wdXAgKVxyXG4gICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgIHdpZHRoOiAkZGVza3RvcC1zdW1tYXJ5LXdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogJGJhc2tldC1wcmV2aWV3LWhlaWdodDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1wcmV2aWV3LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBkZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyLCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIElmIHRoZSB0aGVzZSBjb2xvdXJzIG1hdGNoIGl0IGlzIHBvaW50bGVzcyBleHBhbmRpbmcgdGhlIGJhc2tldCBpY29ucyBiYWNrZ3JvdW5kIHRvIG92ZXJsYXAgdGhlIHJlc3Qgb2YgdGhlIHN1bW1hcnkuXHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSA9PSBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgbWFwLWdldCgkYmFza2V0LXN1bW1hcnktYm94LXNoYWRvdywgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgd2lkdGg6ICRiYXNrZXQtcHJldmlvdXMtaWNvbi13aWR0aDtcclxuICAgICAgICAgICAgLy8gSWYgYm9yZGVyIHRoZW4gcmVkdWNlIGhlaWdodCB0byBhbGxvdyBmb3IgYm9yZGVyLlxyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBZb3UncmUgYXNzdW1pbmcgdGhlIGJvcmRlciBpcyAxcHggc28gdGhpcyBtaWdodCBjYXVzZSBpc3N1ZXMgZG93biB0aGUgbGluZS4uLlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoJGJhc2tldC1wcmV2aWV3LWljb24taGVpZ2h0IC0gMik7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYmFza2V0LXByZXZpZXctaWNvbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRiYXNrZXQtcHJldmlldy1pY29uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRiYXNrZXQtcHJldmlldy1pY29uLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRiYXNrZXQtcHJldmlldy1pY29uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLWdyYWRpYW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLWdyYWRpYW50O1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgLy8gV2UncmUgXCIgYXNzdW1pbmcgXCIgdGhhdCBpZiB0aGUgdmFsdWUgaXMgMjVweCB0aGVuIHdlIHdhbnQgdGhlIGljb24gdG8gYmUgb3V0bGluZWQgYnkgYSBjaXJjbGUuXHJcbiAgICAgICAgICAgICAgICBAaWYgKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMgPT0gMjVweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU2V0dGluZyBhbGwganVzdCBiZWNhdXNlIG9mIGFsbCB0aGUgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBhcHBlYXJzIGluc2lkZSBvZiB0aGUgYmFza2V0IGRlc2t0b3Agc3VtbWFyeS5cclxuICAgIC5iYXNrZXQtZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICBAaWYgJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtbWFyZ2luIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkYmFza2V0LXN1bW1hcnktZGV0YWlscy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctZm9udC1zdHlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxODVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEuNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogNzBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgICAgICYuYmFza2V0LWRldGFpbHMtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmFza2V0LWRldGFpbHMtcHJpY2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTdW1tYXJ5IHRoYXQgZ2V0cyBkaXNwbGF5ZWQgZm9yIG1vYmlsZSBlc3NlbnRpYWxseSBhcyBhIHBvcHVwIG1lbnUuXHJcbiAgICAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktb3JkZXItdG90YWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdW1tYXJ5LXF1YW50aXR5IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMjVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGlvbi1idXR0b24geyBcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5IHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAudGV4dENvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG5cclxuICAgICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyB3aWR0aDogMzcwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAuc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZyB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsIDgsIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZykpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UXVhbnRpdHksICAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC5zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmcge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCA4LCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCkpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0UHJldmlld1ByaWNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNzBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgI2Jhc2tldFByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTcwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHggNjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICNiYXNrZXRQcmV2aWV3IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ2MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI3JlY2VudGx5QWRkZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudXBkYXRlLmFjdGl2ZSB7XHJcbiAgICAgICAgI2Jhc2tldFByZXZpZXcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1NXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBidXR0b24gc3R5bGluZy5cclxuICAgICAgICAgICAgYSB7IFxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnViYmxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTVweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6ICgkYmFza2V0LXByZXZpZXctaGVpZ2h0ICsgNTApO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAvLyB6LWluZGV4OiA1MDA7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweCAyMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIHdlbGNvbWUgdGV4dCAtLS0tLVxyXG4uaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1hbGlnbi1pdGVtcztcclxuICAgICAgICBmbGV4LWJhc2lzOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1oZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLXdlbGNvbWUtdGV4dC1tYXJnaW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICh4eGxhcmdlLXZhbHVlKCRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiB4eGxhcmdlLXZhbHVlKCRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGhlYWRlci13ZWxjb21lLXRleHQtdGV4dC1hbGlnbjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRoZWFkZXItd2VsY29tZS10ZXh0LWNvbG91ciwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci13ZWxjb21lLXRleHQtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgJiArIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgTWVudXMgLS0tLS1cclxuLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFsbC12YWx1ZSgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gRGVza3RvcCBzcGVjaWZpYy5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIC8vIERvbid0IGNoYW5nZSB0aGUgcGFkZGluZyBib3R0b20gYXMgdGhpcyB3aWxsIHRocm93biB0aGUgbWVnYSBtZW51IG91dCBvZiBhbGlnbm1uZXQgd2l0aCB0aGUgYm90dG9tIG9mIHRoZSBuYXYgYmFyLlxyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgQGlmICRoZWFkZXItbWVnYS1tZW51LWdyYWRpYW50LWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLW1lZ2EtbWVudS1ncmFkaWFudC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsYXJnZS12YWx1ZSgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGhlYWRlci1tZWdhLW1lbnUtYm94LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRoZWFkZXItbWVnYS1tZW51LWJveC1zaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkbWVnYS1tZW51LWJvcmRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJG1lZ2EtbWVudS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1lZ2EtbWVudS1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZvbGxvdyBtZWdhIG1lbnUgc21hbGwgc3R5bGVzLlxyXG4gICAgLy8gTGV2ZWwgMVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIExldmVsIDMgKyBcclxuICAgICAgICAgICAgICAgICAgICB1bCA+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBvcmF0b3IoKSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWNvbG91cjtcclxufVxyXG5cclxuLmhlYWRlci1tZW51cy1pbm5lci1jb250YWluZXIge1xyXG5cclxuICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtc21hbGwpLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gTGV2ZWwgMiBDb2xvdXJzXHJcbiAgICAgLy8gLS0tIFBhcmVudCBjb2xvdXJzIC0tLSBcclxuICAgICAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMTtcclxuICAgICAvLyBEZWZhdWx0LlxyXG4gICAgICRwYXJlbnQtY29sb3VyOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgIC8vIEhvdmVyLlxyXG4gICAgICRwYXJlbnQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgIC8vIEFjdGl2ZS5cclxuICAgICAkcGFyZW50LWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC8vIExldmVsIDMgQ2hpbGRyZW4gQ29sb3Vycy5cclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkY2hpbGQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLiBcclxuICAgICRjaGlsZC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRjaGlsZC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuXHJcblxyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtd2lkdGgpO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIHVsLmFjY29yZGlvbi1tZW51IHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGhlYWRlci1sb3dlci10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDIgKCBQYXJlbnQgKVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIER1ZSB0byBzdWJtZW51IHBhcmVudHMgaGF2ZSBhbiBpY29uIHRvIHRoZSBsZWZ0IHdlIG5lZWQgdG8gYWRkIHNvbWUgbWFyZ2luIHRvIHRoZSBubyBwYXJlbnRzIG90aGVyd2lzZSB0aGUgZ3JvdXAgZGVzY3JpcHRpb25zIHdpbGwgbm90IGxpbmUgdXAuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogI3tzcGFjaW5nLXZhbHVlKCRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcsIDQpICsgMjB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhLCAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBwYXJlbnQgaW5kaWNhdG9yIHRoYXQgaXMgc2hvd24gb24gbm9ybWFsIGRyb3Bkb3ducy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBsZXZlbCAzXHJcbiAgICAgICAgICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWFjdGl2ZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuXHJcbiAgICB9XHJcbiAgICB1bC5tZW51Lm1lZ2EtbWVudSwgdWwubWVudS5kcm9wZG93biB7XHJcbiAgICAgICAgLy8gR3JhbmQgcGFyZW50IGdyb3VwIHNlcGVyYXRvcnMuXHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcDtcclxuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1yaWdodDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLWZpcnN0LWNoaWxkLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaG9tZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaG9tZS1idXR0b24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgI3tpZigkbWVnYS1tZW51LXN1cHByZXNzLW91dGVyLXNlcGVyYXRvcnMsIFwiJjpub3QoOmZpcnN0LWNoaWxkKSBcIiwgXCJcIil9ID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2Vwb3JhdG9yKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbGVmdDogLSN7KG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCB3aWR0aCkgKiAxLjUpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGlmKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwLC0kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCAsMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG5vdCAkbWVnYS1tZW51LXN1cHByZXNzLW91dGVyLXNlcGVyYXRvcnMge1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBvcmF0b3IoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3JpZ2h0OiAtI3sobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIHdpZHRoKSAqIDEuNSl9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBpZigkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCwtJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAsMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1saW5lLWhlaWdodCAhPSAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBGb3IgZHJvcGRvd24gYWxpZ25tZW50LlxyXG4gICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBtZW51cyBjb250YWluZXIgLS0tIFxyXG4uaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgQGlmICRoZWFkZXItbG93ZXItaXRlbS1ncm93IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAmICsgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG59XHJcbi5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIsIC5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBUb2dnbGUgQmFyIC0tLSBcclxuLy8gRXNzZW50aWFsbHkgYSBjb2xsZWN0aW9uIG9mIHRvZ2dsZSBidXR0b25zIHRoYXQgdHJpZ2dlciB2YXJpb3VzIGZ1bmN0aW9uYWxpdHkgaS5lIHNlYXJjaCBiYXIgJiBiYXNrZXQgc3VtbWFyeS5cclxuLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgZ2FwOiAkaGVhZGVyLXRvZ2dsZS1iYXItZ2FwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuICAgICYudG9nZ2xlLWJhci1pbmFjdGl2ZS1tb2JpbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRhaW5lciBmb3IgYm90aCBidXR0b24gJiBjb250ZW50IGNvbnRhaW5lcnMuXHJcbiAgICAuaGVhZGVyLXRvZ2dsZS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgJi5hbGlnbi1pdGVtcy1wYXJlbnQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRvZ2dsZSBidXR0b24gY29udGFpbmVyc1xyXG4gICAgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRoZWFkZXItdG9nZ2xlci1iYXItYnV0dG9uLW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci10b2dnbGUtYmFyLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci10b2dnbGUtYmFyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tbGluZS1oZWlnaHQgIT0gJGRlZmF1bHQtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgICAgICAmLnNlYXJjaCAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRlZmF1bHQtc2l0ZS1pY29ucywgc2VhcmNoKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NvdW50IC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgLy8gR2V0IGN1c3RvbSBidXR0b24gcGFkZGluZy5cclxuICAgICAgICAgICAgJGJ1dHRvbi1wYWRkaW5nOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgc3R5bGVzLlxyXG4gICAgICAgICAgICBAaWYgKCRidXR0b24tcGFkZGluZyE9ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tcGFkZGluZyApIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZzsgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXIpLCBkZWZhdWx0LWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG5cclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogI3skaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZSArIDZ9O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDQuNXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWl0ZW0tY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoaG92ZXItY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91ciksIGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWl0ZW0tY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyKSwgYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IGNvbnRhaW5lcnMuXHJcbiAgICAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAmLnNlYXJjaCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWNvbnRlbnQtd2lkdGhzLCBzZWFyY2gpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxMHB4KTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkYWNjb3VudC1tZW51LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFjY291bnQtbWVudS1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NvdW50LW1lbnUtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGlvbi1iYXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTZweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAvL3RyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAgbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1jb250ZW50LXdpZHRocywgYWN0aW9uLWJhcik7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBBY2NvdW50IE1lbnUgLS0tLS1cclxuLy8gLS0tIEJ1dHRvbiAtLS1cclxuLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XHJcblxyXG4gICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG5cclxuICAgICRkZWZhdWx0LWljb24tYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRob3Zlci1pY29uLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGFjdGl2ZS1pY29uLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuXHJcbiAgICAkZGVmYXVsdC1jb2xvdXI6IGlmKCRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyLCBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLCAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91ciksIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICRob3Zlci1jb2xvdXI6IGlmKCRob3Zlci1iYWNrZ3JvdW5kLWNvbG91ciwgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBob3ZlciksICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91ciksIG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAkYWN0aXZlLWNvbG91cjogaWYoJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91ciAsY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBhY3RpdmUpLCAkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSwgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG4gICAgbWluLWhlaWdodDogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1taW4taGVpZ2h0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIEBpZiAoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1mbGV4LWRpcmVjdGlvbikge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWZsZXgtZGlyZWN0aW9uO1xyXG4gICAgfVxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMCAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tZ3V0dGVyO1xyXG4gICAgLy8gRGVmYXVsdCBwYWRkaW5nLlxyXG4gICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmcsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgIEBpZiAoJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmxvZ2dlZC1pbiB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgQGlmICgkaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAoJGhvdmVyLWljb24tYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1pY29uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgIEBpZiAoJGFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIEBpZiAoJGFjdGl2ZS1pY29uLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tbWFyZ2luKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWFjY291bnQtaWNvbik7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICgkZGVmYXVsdC1pY29uLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG4vLyAtLS0gTWVudSAtLS0gXHJcbi5hY2NvdW50LW1lbnUge1xyXG4gICAgYSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1tZW51LWl0ZW0tcGFkZGluZztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBVU1AgQmFyIC0tLS0tXHJcbi8vIFRPRE86IFdoZW4gdGhpcyBvZmZpY2FsbHkgYmVjb21lcyBhIG1vZHVsZSB0aGlzIHNob3VsZCBiZSBtb3ZlZCBvdXQgb2YgdGhlIGhlYWRlci5zY3NzIGludG8gbW9kdWxlcy5zY3NzXHJcbi51c3AtYmFyLCAuaGVhZGVyLXVzcC1iYXIge1xyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHVzcC1iYXItcGFkZGluZyk7XHJcbiAgICBAaWYgJHVzcC1iYWNrZ3JvdW5kLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdXNwLWJhci1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG4udXNwLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVzcC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAudXNwLWJhbm5lciwgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAkdXNwLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvLyBJZiB0ZXh0IGFsaWduIG5vdCA9PSBjZW50ZXIgdGhlbiBhZGp1c3QgZmxleGJveCBhbGlnbm1lbnQuXHJcbiAgICAgICAgQGlmICgkdXNwLWFsaWdubWVudCA9PSBcImxlZnRcIikge1xyXG4gICAgICAgICAgICAkdXNwLWZsZXgtYWxpZ246IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAoJHVzcC1hbGlnbm1lbnQgPT0gXCJyaWdodFwiKSB7XHJcbiAgICAgICAgICAgICR1c3AtZmxleC1hbGlnbjogZmxleC1lbmRcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLCBweyBcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdXNwLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEsID4gcCB7XHJcbiAgICAgICAgICAgIEBpZiAoJHVzcC1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHVzcC1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR1c3AtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7ICAgXHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR1c3AtZmxleC1hbGlnbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGlmICR1c3Atb3JkZXItaW52ZXJ0IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVzcC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkdXNwLWFsaWdubWVudDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHVzcC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkdXNwLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzcC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHVzcC1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgQGlmICgkdXNwLWltYWdlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkdXNwLWltYWdlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNwLWltYWdlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkdXNwLW9yZGVyLWludmVydCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHVzcC1pbWFnZS1ndXR0ZXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdXNwLWltYWdlLWd1dHRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgJHVzcC1vcmRlci1pbnZlcnQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdXNwLWZsZXgtYWxpZ247XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1c3AtcGFkZGluZztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkdXNwLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IG1hcC1nZXQoJHVzcC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGhvdmVyLWNvbG91ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICRhY3RpdmUtY29sb3VyOiBtYXAtZ2V0KCR1c3AtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkYWN0aXZlLWNvbG91ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBwYWRkaW5nIGR1ZSB0byBjb250ZW50IGJlaW5nIGluc2lkZSBvZiBhbmNob3IuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgQGlmICR1c3AtYW5jaG9yLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFuY2hvci1pbmRpY2F0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHVzcC1hbmNob3ItaW5kaWNhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkdXNwLWFuY2hvci1pbmRpY2F0b3ItZm9udC1zaXplOyAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHVzcC1hbmNob3ItaW5kaWNhdG9yLWN1c3RvbS1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkdXNwLWd1dHRlcikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtaGlkZGVuPWZhbHNlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAkdXNwLWd1dHRlcjsgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVG8gbWFrZSBzdXJlIGNvbnRlbnQgaXMgZmx1c2ggYWdhaW5zdCBjb250YWluZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkdXNwLXNlcGVyYXRvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuICAgICAgICAgICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcclxuICAgICAgICAgICAgICAgICAgICYgKyAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJHVzcC1zZXBlcmF0b3ItZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1c3Atc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmZhcyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBCcmVhZGNydW1icyAtLS0tLVxyXG4vLyBNYWtlIHN1cmUgdGhlcmUgaXMgYSBnYXAgYmV0d2VlbiB0aGUgaGVhZGVyIHdoZW4gdGhlcmUgaXMgbm8gYnJlYWRjcnVtYiBvciB2YXQgc3dpdGNoZXIgb3RoZXJ3aXNlIHBhZ2UgY29udGVudCB3aWxsIHB1c2ggdXAgYWdhaW5zdCB0aGUgaGVhZGVyLCB0cmVhdCB0aGUgaG9tZXBhZ2UgYXMgYSBzcGVjaWFsIGNhc2UgYXMgaW4gc29tZSBkZXNpZ25zIHdlIGJ1dHQgdGhlIG1vZHVsZXMgcmlnaHQgdXAgYWdhaW5zdHMgdGhlIGhlYWRlci5cclxuYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogJGJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAmOm5vdCg6aGFzKC5icmVhZGNydW1icykpIHtcclxuICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLW5vLWJyZWFkY3J1bWJzLXZhdC1zd2l0Y2gtc2hpbTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBuZWVkcyB0byBiZSBjb25maWd1cmVkIG9uIGEgc2l0ZSBiYXNpcyBhcyBraW5nc2ZpZWxkIGhhcyBubyBVU1AncyArIGRpc2FibGVkIFZBVCBzd2l0Y2ggYW5kIHJlcXVlc3RlZCB0aGF0IHdlIGhhdmUgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIGZpcnN0IG1vZHVsZSA4NDk0MTIuXHJcbmJvZHkje2lmKCRoZWFkZXItbm8tYnJlYWtjcnVtYnMtdG9nZ2xlLXN3aXRjaC1zaGltLW9uLWhvbWVwYWdlLFwiXCIsXCI6bm90KCNob21lKVwiKX0gLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgJjpub3QoOmhhcyguYnJlYWRjcnVtYnMpKTpub3QoOmhhcyguaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyKSk6bm90KDpoYXMoLnZhdC1zd2l0Y2hlci1jb250YWluZXIpKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRlci1uby1icmVhZGNydW1icy12YXQtc3dpdGNoLXNoaW07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAmOmhhcyguYnJlYWRjcnVtYnMpLCAmOmhhcyguaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nLXRvcDogKHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxKSk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IChzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSwgbGFyZ2UpKTtcclxuICAgIH1cclxufVxyXG5cclxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5icmVhZGNydW1icywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxKTtcclxuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiBzbWFsbC12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyZWFkY3J1bWJzIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgZGlzcGxheSBzdHlsZSBmbGV4IHRvIGF0dGVtcHQgdG8gY2VudGVyaXNlIHRoZSBzZXBlcmF0b3IvbGV2ZWwgaWNvbnMuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIFN3aXRjaGVkIGZyb20gYmFzZWxpbmUgdG8gY2VudGVyIGZvciBraW5nc3dvb2QgcHJvamVjdCA4NDI1MzksIHRoaXMgbWlnaHQgbmVlZCB0byBiZSByZXZlcnRlZC5cclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAyLjVweCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmdyaWQtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYnJlYWRjcnVtYnMge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRicmVhZGNydW1icy1hY3RpdmUtZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICBtYXJnaW46ICRicmVhZGNydW1icy1zZXBlcmF0b3ItbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBwYWRkaW5nLXRvcCBhcyB3ZSdyZSAxcHggb2ZmIHZlcnRpY2FsIGNlbnRlci5cclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICgkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW0gLyAyKTtcclxuICAgICAgICAgICAgQGlmICRicmVhZGNydW1icy1zZXBlcmF0b3ItbGluZS1oZWlnaHQge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRicmVhZGNydW1icy1zZXBlcmF0b3ItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNpemU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNoaW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b2dnbGUtc3dpdGNoLWxhYmVsLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2YXQtc3dpdGNoZXItZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLS0tIFZBVCBTd2l0Y2hlciAvIEhlYWRlciB0b2dnbGUgc3dpdGNoIC0tLVxyXG4vLyBUaGlzIHdhcyByZWZhY3RvcmVkIGludG8gXCIgaGVhZGVyLXRvZ2dsZS1zd2l0Y2ggXCIgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGRlc2lnbiB0byBhbGxvdyBmb3IgZGlmZmVyZW50IGNvbG91ciBjb2RpbmcgdG8gYmUgZGVmaW5lZC5cclxuLnZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAkdmF0LXN3aXRjaGVyLWluZGljYXRvci1nYXA7XHJcbiAgICBAaWYgKCR2YXQtc3dpdGNoZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhdC1zd2l0Y2hlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3BlY2lmaWMgc3R5bGVzLlxyXG4gICAgJi52YXQtc3dpdGNoZXIge1xyXG4gICAgICAgICYuaW5jbHVzaXZlLCAmLm9mZiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXIsIGluY2x1c2l2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5leGNsdXNpdmUsICYub24ge1xyXG4gICAgICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1wYWRkbGUtY29sb3VyLCBleGNsdXNpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZWRpdC1tb2RlIHtcclxuICAgICAgICAmLm9mZiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vbiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICAvLyBDb21tb24uXHJcbiAgICAmLmluY2x1c2l2ZSwgJi5vZmYge1xyXG4gICAgICAgIEBpZiAkdmF0LWhpZ2hsaWdodGVkLWFjdGl2ZS1sYWJlbCB7XHJcbiAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC0gMik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoLWV4YyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYmFja2dyb3VuZC1jb2xvdXIsIGluY2x1c2l2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJvcmRlci1jb2xvdXIsIGluY2x1c2l2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5leGNsdXNpdmUsICYub24ge1xyXG4gICAgICAgIC8vIFNob3cgYWN0aXZlIGZvbnQtd2VpZ2h0IGFuZCBjb2xvdXIgaWYgYWN0aXZlLCBub3QgdG8gYmUgY29uZnVzZWQgd2l0aCBjbGljayBhY3RpdmUgc3RhdGUuXHJcbiAgICAgICAgQGlmICR2YXQtaGlnaGxpZ2h0ZWQtYWN0aXZlLWxhYmVsIHtcclxuICAgICAgICAgICAgcDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSAge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zICsgNSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaC1pbmMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJhY2tncm91bmQtY29sb3VyLCBleGNsdXNpdmUpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1ib3JkZXItY29sb3VyLCBleGNsdXNpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2l0Y2gge1xyXG4gICAgICAgIHdpZHRoOiAkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zO1xyXG4gICAgICAgIGhlaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyAyLjEpO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xyXG4gICAgICAgIG1pbi13aWR0aDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyAyLjMpO1xyXG4gICAgICAgIGhlaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyAyLjMpO1xyXG4gICAgICAgIC8vIFN1cHByZXNldHRpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXNzdWVzIGZvciBtYWNPUyB1c2Vycy5cclxuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDQuMik7XHJcbiAgICAgICAgICAgIGhlaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLyA0LjIpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2l0Y2gtZXhjLCAuc3dpdGNoLWluYyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1leGMge1xyXG4gICAgICAgIHJpZ2h0OiA3cHg7XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWluYyB7XHJcbiAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1pbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZhdC1zd2l0Y2hlci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItZm9udC13ZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEZvb3RlciAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEZvb3RlciBtZW51ICggYWxzbyByZWZlciB0byBheGlzLW1lbnVzLnNjc3MgKVxyXG4tIFByb21vdGlvbiBhcmVhOlxyXG4gIC0gU29jaWFsIEljb25zXHJcbiAgLSBNYWlsaW5nIExpc3RcclxuICAtIENtcyBlbnRyaWVzXHJcbi0gRm9vdGVyIEJhbm5lcnMgKCBQYXltZW50IG1ldGhvZCBsb2dvcyApXHJcbi0gQ29weXJpZ2h0XHJcbi0gR29vZ2xlIFRhZyBNYW5hZ2VyIGZvb3RlciB3aWRnZXQgYXJlYVxyXG4tIEZvb3RlciBNb2R1bGVzICggYWxzbyByZWZlciB0byBtb2R1bGVzLnNjc3MgKVxyXG4qL1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5mb290ZXIge1xyXG4gICAgLy8gRm9vdGVyIGNvbG91cnMgcHJlLXByb2Nlc3NpbmcuXHJcbiAgICAkYmFja2dyb3VuZC1jb2xvdXI6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgLy8gRGVmYXVsdFxyXG4gICAgJG1lbnUtaWNvbi1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXIsIGRlZmF1bHQpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXJcclxuICAgICRtZW51LWhvdmVyLWljb24tY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1tZW51LWljb24tY29sb3VyLCBob3ZlciksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmVcclxuICAgICRtZW51LWFjdGl2ZS1pY29uLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbWVudS1pY29uLWNvbG91ciwgYWN0aXZlKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICBAaWYgbm90ICRmb290ZXItYmFja2dyb3VuZCBhbmQgbm90ICRmb290ZXItYmFja2dyb3VuZC10b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICgkZm9vdGVyLW1hcmdpbi10b3AgLyAyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbm90ICRmb290ZXItYmFja2dyb3VuZCBhbmQgbm90ICRmb290ZXItYmFja2dyb3VuZC10b3Age1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLW1hcmdpbi10b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJGZvb3Rlci1zZXBlcmF0b3IpIHtcclxuICAgICAgICAmOiN7aWYoJGZvb3Rlci1zZXBlcmF0b3ItdG9wLCBiZWZvcmUsIGFmdGVyKX0ge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1jb2xvdXI7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLW1hcmdpbi10b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogVGhlIHNvY2lhbEljb25zIHByb3BlcnRpZXMgY2FuIGdvIG9uY2Ugd2UgZ28gd2l0aCB1c2luZyBmb250YXdlc29tZSdzIGdseXBocywgeW91IG1heSBuZWVkIHRvIHVudGFuZ2xlIHNvbWUgb2YgdGhlc2Ugb3B0aW9ucyB0byBtYWtlIHN1cmUgdGhleSdyZSBhbGwgYmVpbmcgYXBwbGllZCBpbiB0aGUgLmZvb3RlciBjbGFzcyBpbiBheGlzLXNvY2lhbC1tZWRpYS1pY29ucy5zY3NzXHJcbiAgICAuc29jaWFsSWNvbnMsIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiBub3QgKCRzdXBwcmVzcy1mb290ZXItbWVudS1pdGVtLXNlcGVyYXRvcnMpIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGZvb3Rlci1zb2NpYWwtc3VwcHJlc3MtY29udGFpbmVyLXNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1hbGlnbi1pdGVtcztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItYWxpZ25tZW50O1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkZm9vdGVyLXNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRmb290ZXItc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItc29jaWFsLWljb24tZGltZW50aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZWQgZm9yIGFueSB0ZXh0ZGIgZW50cmllcyBpbiB0aGUgZm9vdGVyLlxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1jbXMtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNtcy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY21zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1jbXMtbGluZS1oZWlnaHQge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW4gPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGlmKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSwgY2VudGVyLCBsZWZ0KTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY21zLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1hbmNob3ItZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnNob3ctY29udGFjdC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzdXBwcmVzcy1mb290ZXItbWVudS1pdGVtLXNlcGVyYXRvcnMpIHtcclxuICAgICAgICB1bC5tZW51IHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250cm9scyBob3cgZmFyIHRoZSBmb290ZXIgY29udGVudCBzaG91bGQgc3Bhbi5cclxuLmZvb3Rlci1ncmlkLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZm9vdGVyLWdyaWQtd2lkdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBAaWYgKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20gb3IgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCk7XHJcbiAgICB9XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbWVkaXVtLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250ZW50LWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQmFubmVyIHNlcmllcyBmb3IgdGhpbmdzIGxpa2UgYWNjZXB0ZWQgcGF5bWVudCBtZXRob2RzIG9yIGltYWdlKHMpIHRoYXQgc2l0IGFib3V0IHRoZSBmb290ZXIgY29udGVudC5cclxuLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAmLmNvbnRlbnQtaGVhZGVyIHtcclxuICAgICAgICBAaWYgKCRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnBheW1lbnQtbWV0aG9kcyB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcyB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCkpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjaW5nLXZhbHVlKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApLCAyKX0pO1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRE9OVCBkbyB0aGlzIGl0cyBraWxscyB0aGUgbGF5b3V0IGluIG1vYmlsZSBmb3Igc3RhbmRhcmQgZm9vdGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzbWFsbC12YWx1ZShzcGFjaW5nLXZhbHVlKCRmb290ZXItYmFubmVycy1nYXAsIDIpKX0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiArIC5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC5mb290ZXItYmFubmVyLXNlcmllcyB7XHJcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBGb290ZXIgY29weXJpZ2h0LlxyXG4uY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLy8gQ29udHJhY3QgY2hlY2tlci5cclxuICAgIC8vIERlY2lkZSB0aGUgYmFja2dyb3VuZCBjb2xvdXIsIGlmIHRoZSBjb3B5cmlnaHQgY29udGFpbmVyIGRvZXNuJ3Qgc3BlY2lmaWNhbGx5IHNwZWNpZnkgYSBiYWNrZ3JvdW5kIGNvbG91ciB0aGVuIGRlZmF1bHQgdG8gdGhlIGZvb3RlciBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICRiYWNrZ3JvdW5kLWNvbG91cjogJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQ7XHJcbiAgICAvLyBUaGUgc2VwZXJhdG9ycyBiZXR3ZWVuIHRoZSB0ZXh0IGNvbG91ci5cclxuICAgICRzZXBlcmF0b3ItY29sb3VyOiBcIlwiO1xyXG4gICAgQGlmICgkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3IpIHtcclxuICAgICAgICAkc2VwZXJhdG9yLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgfVxyXG4gICAgLy8gQ29weXJpZ2h0IHBhcmFncmFwaCBjb2xvdXIuXHJcbiAgICAkcGFyYWdyYXBoLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQ29weXJpZ2h0IGFuY2hvciBkZWZhdWx0IGNvbG91ci5cclxuICAgICRhbmNob3ItY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyLCBkZWZhdWx0KSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIENvcHlyaWdodCBhbmNob3IgaG92ZXIgY29sb3VyLlxyXG4gICAgJGFuY2hvci1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyLCBob3ZlciksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBDb3B5cmlnaHQgYW5jaG9yIGFjdGl2ZSBjb2xvdXIuXHJcbiAgICAkYW5jaG9yLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyLCBhY3RpdmUpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuXHJcbiAgICBAaWYgKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZzogJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kICE9IFwidHJhbnNwYXJlbnRcIikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1vdXRlci1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG4gICAgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgLy8gQWRkIHNtYWxsIHNwYWNlIGFib3ZlIGp1c3QgaW5jYXNlIHBheW1lbnQgbWV0aG9kJ3MgaXMgc3VwcHJlc3NlZC5cclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHNtYWxsLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ24pO1xyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3Ige1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1tYXJnaW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC1hbGlnbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1tYXJnaW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRwYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1saW5lLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItY29weXJpZ2h0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gR2VuZXJhbCBmb290ZXIgbWVudSBuYXZpZ2lhdGlvbi5cclxuLmZvb3Rlci1uYXZpZ2F0aW9uIHtcclxuICAgIC8vIENvbnRyYXN0IGNoZWNrZXIgZm9yIHBhcmVudCBjb2xvdXJzLlxyXG4gICAgLy8gRGVmYXVsdFxyXG4gICAgJHBhcmVudC1kZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3ZlclxyXG4gICAgJHBhcmVudC1ob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZVxyXG4gICAgJHBhcmVudC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gTGV2ZWwgMVxyXG4gICAgPiB1bC5tZW51IHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1nYXApKSB7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IG1lbnUgc3R5bGUgdG8gZm9yY2UgcHJvbW90aW9uIGNvbnRhaW5lciB0byBmaXQgb24gcm93LlxyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiBhIGNoZXZyb24gaXMgcHJlc2VudCBtYWtlIHN1cmUgaXQgaGFzIGFuIGFwcHJvcHJpYXRlIGNvbG91ciBhc3NpZ25lZC5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBCZWNhdXNlIHlvdSB3YW50IHRvIHRoZSBjb250ZW50IGZsdXNoIGFnYWluc3QgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCBwLCAmOmZpcnN0LWNoaWxkIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgcCwgJjpsYXN0LWNoaWxkIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItcGFyZW50LXNlcGVyYXRvcikge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXBhcmVudC1zZXBlcmF0b3ItY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLXBhcmVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IG1lbnUgaG92ZXIgc3RhdGUuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoW2hyZWZdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItbGlzdC1pdGVtLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhLCA+IHAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvb3Rlci1saXN0LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItcGFyZW50LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJltocmVmXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIH0gIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBiYWNrZ3JvdW5kLWNvbG9yXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBQdXNoIGZpcnN0IGl0ZW0gYXdheSBmcm9tIHBhcmVudCB1c2luZyB0aGUgYm90dG9tIHZhbHVlIHNvIHRoZSBzcGFjaW5nIGlzIGVxdWFsIHRvcCAmIGJvdHRvbS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZywgMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206ICRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmctYm90dG9tO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSG92ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFjdGl2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jaGlsZC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJTVBPUlRBTlQ6IFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgaXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIHNob3dpbmcgY29udGFjdCBpY29ucyBmb3IgbWFpbHRvOiAmIHRlbDouXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2Ugd2UncmUgbm93IHVzaW5nIGF4aXMtbWVudSdzIHR5cGljYWxseSBjaGlsZCBpdGVtcyBoYXZlIGEgYXJyb3cgc2hvd2luZyBuZXh0IHRvIHRoZW0gdGhpcyBpcyBiZWluZyBmb3JjYWJseSBzdXBwcmVzc2VkIGZvciBmb290ZXIgbWVudSdzLCBtYWtlIHRoaXMgY29uZmlndXJhYmxlIGluIHRoZSBmdXR1cmUgaWYgbmVlZHMgYmUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY2hpbGQtaG92ZXItdGV4dC1kZWNvcmF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY2hpbGQtaG92ZXItb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRmb290ZXItY2hpbGQtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBubyBvdGhlciBvcGFjaXR5IGdldHMgYXBwbGllZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxpbmstZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDdXJyZW50bHkgd2UncmUgb25seSBzaG93aW5nIG9uZSB0eXBlIG9mIG1lbnUgaW4gdGhlIGZvb3RlciBidXQgSSBhbSBsZWF2aW5nIHRoaXMgb3BlbiBzbyB3ZSBjYW4gYWRkIGRpZmZlcmVudCB0eXBlcyAoIGkuZSBhIHByaW1hcnkgYW5kIHNlY29uZGFyeSBtZW51IClcclxuICAgICYubWFpbi1tZW51IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbGlzdC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcclxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC1ncm93OiAkZm9vdGVyLW1haW4tbWVudS1mbGV4LWdyb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1jb250YWluZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgb3JkZXI6ICRmb290ZXItbGlzdC1vcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IG1lbnUgYWNjb3JkaW9uIHN0eWxlcyBpbiBtb2JpbGUuXHJcbiAgICAubWVudSAuaXMtc3VibWVudS1pdGVtIGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBvcmRlcjogMztcclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItY21zLWNvbnRhaW5lci1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLW1hcmdpbjtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDMtbWFyZ2luO1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNtcy1jb250YWluZXItaDMtY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgzLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci10YWJsZS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luID09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tbWF4LXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTm9ybWFsbHkgaG9sZHMgbWFpbGluZyBsaXN0LCBzb2NpYWwgaWNvbnMgJiBjbXMgZW50cnkuXHJcbi5mb290ZXItcHJvbW90aW9ucyB7XHJcbiAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXgtd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpKSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcyk7XHJcbiAgICB9XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApKSB7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKTtcclxuICAgIH1cclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbik7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKSkge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIG9yZGVyOiAkZm9vdGVyLXByb21vdGlvbi1hcmVhLW9yZGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLXByb21vdGlvbnMtd2lkdGgpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItcHJvbW90aW9ucy13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtYWxpZ24taXRlbXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGb3JjZSBjb250ZW50IHRvIGJlIGFsaWduZWQgdGhlIHJpZ2h0LCBvbmx5IGFsbG93IGNlbnRlcmluZyB3aGVuIG5vIHByb21vdGlvbnMuXHJcbiAgICAmICsgLmZvb3Rlci1uYXZpZ2F0aW9uIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItbmF2aWdpYXRpb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLW5hdmlnaWF0aW9uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBtYWlsaW5nIGxpc3QuXHJcbiAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBtYWlsaW5nLWxpc3QpO1xyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgYW55IHNvY2lhbCBpY29ucyB3aXRoaW4gdGhlIHByb21vdGlvbiBhcmVhLlxyXG4gICAgLnNvY2lhbEljb25zLCAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIHNvY2lhbC1pY29ucyk7XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciB0ZXh0ZGIgY29udGVudCBpbnNpZGUgb2YgcHJvbW90aW9uIGNvbnRhaW5lci5cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIHRleHRkYikpIHtcclxuICAgICAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCB0ZXh0ZGIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9yZGVyIGZvciBmb290ZXIgbG9nb1xyXG4gICAgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgbG9nby1jb250YWluZXIpKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgbG9nby1jb250YWluZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9yZGVyIGZvciBjb250YWN0IGRldGFpbHMgKCB0ZWxlcGhvbmUgLyBlbWFpbCApXHJcbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgY29udGFjdC1kZXRhaWxzKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIGNvbnRhY3QtZGV0YWlscyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOb3JtYWxseSB1c2VkIGluIHRoZSBwcm9tb3Rpb24gY29udGFpbmVyIHRvIGNhdGFnb3Jpc2UgdGhlIHNvY2lhbCBtZWRpYSBpY29ucywgbWFpbGluZyBsaXN0ICYgY21zIGVudHJ5LlxyXG4uZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nIHtcclxuICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAvLyBDTVMgaGVhZGluZy5cclxuICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KSkge1xyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCk7XHJcbiAgICB9XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLW1hcmdpbik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICAvLyBMZXZlcmFnaW5nIHRoZSBzYW1lIHN0eWxlcyBmb3IgY29udGFjdCBlbWFpbCAmIHRlbGVwaG9uZSBpbiB0aGUgaGVhZGVyICggaS5lIHRoZSBpY29ucyApLlxyXG4gICAgdWwubWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbikpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLWNvbnRhaW5lci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkZm9vdGVyLXJldmVhbC1idXR0b24tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1yZXZlYWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbikpIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLXBhZGRpbmcsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstY29sb3VyLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJvcmRlci1jb2xvdXIsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC1zaXplLCAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtd2VpZ2h0LCAod2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstd2lkdGgpLCBtb2JpbGUtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstd2lkdGgpKSwgMCwgZmxleCwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtaWNvbi1jb25maWcpO1xyXG59XHJcblxyXG4ubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1tYXJnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgLy8gVGV4dGRiIGhlYWRpbmcuXHJcbiAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBUZXh0ZGIgbXVsdGktbGluZSBjb2xvdXIuXHJcbiAgICAkdGV4dC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRleHRkYiBlbnRyeS5cclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcsIDMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5lLWhlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gQXR0ZW1wdGluZyB0byBrZWVwIHNwYWNpbmcgY29uc2lzdGVudCB3aXRoIGZvb3RlciBtZW51LlxyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTWFpbGluZyBsaXN0IGlucHV0LlxyXG4gICAgc3Bhbi5tYWlsLWlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB9XHJcbiAgICAvLyBNYWlsaW5nIGxpc3QgZm9ybS5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtcGFkZGluZyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1sZXR0ZXItc3BhY2luZyB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXRleHQtdHJhbnNmb3JtIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3Vye1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXItaW5jbHVkZS1idXR0b24pIHtcclxuICAgICAgICAgICAgICAgICAgICAmICsgYnV0dG9uOmJlZm9yZSwgJiArIGJ1dHRvbjplbXB0eTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiB0aGlzIHdpbGwgbmVlZCBleHRlbmRpbmcgaWYgd2Ugd2FudCB0byBmdW5kaW1lbnRhbGx5IGNoYW5nZSB0aGUgYm9yZGVyIGFyb3VuZCB0aGUgZmllbGQuXHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXItaW5jbHVkZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgQGlmICgkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplIHNvbGlkICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgfVxyXG4gICAgQGlmICgkZm9vdGVyLWJhY2tncm91bmQpIHtcclxuICAgICAgICBAaWYgKCRmb290ZXItYmFja2dyb3VuZC10b3ApIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCkgKyAoJGZvb3Rlci1tYXJnaW4tdG9wIC8gMikpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSkgKyAkZm9vdGVyLW1hcmdpbi10b3ApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0je2lmKCRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSwgKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgc21hbGwpICsgJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplKSwgbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCkpfTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC11cmwsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtI3tpZigkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUsIChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKSArICRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSksIG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpKX07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLXVybCwgbGFyZ2UpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IFRCQy5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgIEBpZiBub3QgKCRmb290ZXItYmFja2dyb3VuZCBhbmQgJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItYmFja2dyb3VuZC1tYXJnaW4tdG9wO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1wYWRkaW5nKTtcclxuICAgIEBpZiAkZm9vdGVyLWdyYWRpYW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkZm9vdGVyLWdyYWRpYW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkZm9vdGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgI2Zvb3Rlci1pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSBvciAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICN7aWYoJGZvb3Rlci1saXN0LXJldmVyc2Utb3JkZXIsIFwicm93LXJldmVyc2VcIiwgXCJyb3dcIil9O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1zZXJwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci10b3Age1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQUpBWCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEFKQVggU3Bpbm5lclxyXG4tIENhbGxiYWNrIGNvbnRhaW5lcnNcclxuLSBVcGRhdGUgQ29udGVudCAtIEJhc2ljYWxseSBhIGNvbnRhaW5lciBpbnNpZGUgb2YgdGhlIGFqYXggcmVzcG9uc2UgdGhhdCBhbGxvd3MgeW91IHRvIHVwZGF0ZSBjb250ZW50IG91dHNpZGUgb2YgdGhlIGNhbGxiYWNrIGNvbnRhaW5lci5cclxuKi9cclxuXHJcblxyXG4vLy0tLS0tIEFKQVggYmxvY2sgLS0tLS1cclxuLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gQWRkIGZsZXgtZ3JvdyBmb3IgYWpheCdkIGluIGZvcm0gaW4gYSBtb2RhbC5cclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC8vIElNUE9SVEFOVDogRG9udCBhZGQgei1pbmRleCBwcm9wZXJ0eSBhcyB0aGlzIGNsYXNzIGdldHMgdXNlZCBhbGwgb3ZlciB0aGUgc2hvcCBhbmQgd2lsbCBjYXVzZSBvdmVybGFwcGluZyBpc3N1ZXMgd2l0aCBvdGhlciBjb250ZW50ICggaS5lIHByb2R1Y3QgbGlzdHMgcXVhbnRpdHkgZHJvcCBkb3ducyApLlxyXG4gICAgLy8gQWRkaW5nIHotaW5kZXggYWpheCBtb2RhbHMgdG8gbWFrZSBzdXJlIHRoZXkgb3ZlcmxhcCBhbGwgcGFnZSBjb250ZW50LlxyXG4gICAgLy8gei1pbmRleDogMTk5OTtcclxuICAgICY6aGFzKC5BSkFYQmxvY2spIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FsbGJhY2tMaXN0Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vLy0tLSBTcGlubmVyIC0tLVxyXG5cclxuLkFKQVhCbG9jaywgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWJsb2NrLWJhY2tncm91bmQ7XHJcbiAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxuICAgIC5zcGlubmVyIHtcclxuICAgICAgICB3aWR0aDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU7XHJcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8vIHRvcDogMDtcclxuICAgICAgICAvLyBib3R0b206IDA7XHJcbiAgICAgICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAgICAgLy8gbGVmdDogMDtcclxuICAgICAgICAvLyBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICBAaW5jbHVkZSBjb250ZW50LWxvYWRpbmctc3Bpbm5lcigkYWpheC1zcGlubmVyLWNvbG91cik7XHJcbiAgICAgICAgJiArIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gVXBkYXRlIGNvbnRlbnQgLS0tLS0gXHJcbltkYXRhLXVwZGF0ZS1jb250ZW50XSwgW2RhdGEtYWpheC11cGRhdGUtYnJlYWRjcnVtYnNdIHtcclxuICAgIC8vIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzZXQgdG8gZGlzcGxheSBub25lIHRvIHByZXZlbnQgdGhlIG5ldyBjb250ZW50IGZsYXNoaW5nIGluZnJvbnQgdGhlIG9mIHRoZSB1c2VyIGJlZm9yZSBpdCBpcyBtb3ZlZCBpbnRvIHBsYWNlLlxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIi8qXHJcbi0tLS0tIEZpbHRlcnMgLS0tLS0tIFxyXG4tIFRoZXNlIGEgdHlwaWNhbGx5IG9uIGxpc3QgcGFnZXMgZm9yIHByb2R1Y3RzLlxyXG4tIEF0dHJpYnV0ZSBmaWx0ZXJzIHRoYXQgYWxzbyBpbmNsdWRlIGNvbG91ciBmaWx0ZXJzIGFuZCBwcmljZSBzbGlkZXIuXHJcbi0gWW91IHdpbGwgYWxzbyBmaW5kIHRoZSBtb2JpbGUgc3R5bGVzIGhlcmUgZm9yIGZpbHRlcnMuXHJcbiovXHJcblxyXG5cclxuLy8gVE9ETzogVGhpcyBuZWVkcyB0byBiZSByZWZhY3RvcmVkIGludG8gdGhlIHZhcmlhYmxlcy5zY3NzLlxyXG4kZmlsdGVyRGVza3RvcFdpZHRoOiAxODVweDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRMaW5rV2VpZ2h0OiA0MDA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ1BhZGRpbmc6IDEwcHggMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nQ29sb3VyOiAkY29sb3VyNDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nQmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ1dlaWdodDogNjAwO1xyXG4kYXR0cmlidXRlQXBwbGllZEFuY2hvckNvbG91cjogJGNvbG91cjI7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkQW5jaG9yQ29sb3VySG92ZXI6ICRjb2xvdXI0O1xyXG4kb3B0aW9uSGVhZGluZ0NvbG91cjogJGNvbG91cjQ7XHJcbi8vICRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3UG9zaXRpb25Ub3A6IDA7XHJcbi8vICRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3UG9zaXRpb25SaWdodDogMTBweDtcclxuJGF0dHJpYnV0ZUNvbG91clByZXZpZXdCb3JkZXJSYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4kYXR0cmlidXRlQ29sb3VyUHJldmlld0RpbWVudGlvbnM6IDEwcHg7XHJcbiRhdHRyaWJ1dGVGaWx0ZXJXaWR0aDogODBweDtcclxuJGF0dHJpYnV0ZU9wdGlvblBhZGRpbmc6IDEwcHggMDtcclxuXHJcblxyXG4jbW9iaWxlVG9nZ2xlQ29udGFpbmVyIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHQvLyBtYXJnaW46IDAgMCAxNXB4O1xyXG5cdHVsIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdH1cclxufSAgXHJcblxyXG4vLyBJTVBPUlRBTlQ6IFRoaXMgd2FzIGJ1aWxkIHNwZWNpZmljYWxseSBpbiB0aGUgY29udGV4dCBvZiBwcm9kdWN0LWxpc3QncyB3aGljaCBvbmx5IGdvdCBzaG93biBpbiBtb2JpbGUgYW5kIHdhcyBsYXRlciBcImFkYXB0ZWRcIiB0byBmaXQgaW50byB0aGUgZGVza3RvcCB2aWV3IGluIHRoZSBzb3J0aW5nIG9wdGlvbnMgYmFyLlxyXG4jZmlsdGVycy10b2dnbGUsIC5maWx0ZXItdG9nZ2xlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZzogMjBweCAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1iYWNrZ3JvdW5kLWNvbG91ciwgdW4tc3R1Y2spO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRjb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgdW4tc3R1Y2spO1xyXG5cdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtd2VpZ2h0O1xyXG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXNpemUpO1xyXG5cdGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG5cdEBpZiAoJGZpbHRlcnMtdG9nZ2xlLWxldHRlci1zcGFjaW5nKSB7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogJGZpbHRlcnMtdG9nZ2xlLWxldHRlci1zcGFjaW5nO1xyXG5cdH1cclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0QGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG5cdH1cclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyNjtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQmOm5vdCguaXMtc3R1Y2spIHtcclxuXHRcdC8vIE92ZXJyaWRlIHRoZSBzdGlja3kgcG9zaXRpb25pbmcgd2hlbiBub3Qgc3R1Y2sgIzgxMTEzNy5cclxuXHRcdHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQmLmlzLXN0dWNrIHtcclxuXHRcdC8vIE92ZXJyaWRlIHRoZSBzdGlja3kgcG9zaXRpb25pbmcgd2hlbiBub3Qgc3R1Y2sgIzgxMTEzNy5cclxuXHRcdG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1iYWNrZ3JvdW5kLWNvbG91ciwgc3R1Y2spO1xyXG5cdFx0Y29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHN0dWNrKTtcclxuXHRcdGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG5cdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCA0cztcclxuXHRcdHotaW5kZXg6IDEwMDA7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCBzdHVjayk7XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZpbHRlcik7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZmlsdGVyLWljb24pO1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0Y29sb3I6bWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgdW4tc3R1Y2spO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmb250LXNpemU6IDE1cHg7IC8vIGRlc2NyZWFzaW5nIHNpemUgYXMgdGhpcyB3YXMga25vY2tpbmcgb3RoZXIgc29ydGluZyBvcHRpb24ncyB0ZXh0IG91dCBvZiBhbGlnbm1lbnQuXHJcblx0XHR9XHJcblx0fVxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblx0LmFjdGl2ZS1maWx0ZXItY291bnQge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAzcHg7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdCRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplOiAxNXB4O1xyXG5cdFx0XHR3aWR0aDogJGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemU7XHJcblx0XHRcdGhlaWdodDogJGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAxMnB4O1xyXG5cdFx0XHRsZWZ0OiAxMnB4O1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYyg5KTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6ICgkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZSAtIC44KTsgLy8gU3VidHJhY2sgdGhlIGJvcmRlci5cclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdFx0Ym9yZGVyOiAuOHB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG59XHJcblxyXG4uZmlsdGVycy1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1oZWFkaW5nLW1vYmlsZS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG5cdEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0fVxyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0QGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgcmdiYSgkY29sb3VyNCwgMC44KSk7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0fVxyXG59XHJcbi5maWx0ZXJzLWZvb3RlciB7XHJcblx0Ly8gT25seSBzaG93IGZvciBtb2JpbGUgZHVlIHRvIHBvcHVwLlxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdC5idXR0b24tY29udGFpbmVyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdFx0YnV0dG9uIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4jZmlsdGVyQmFja1RvTGlzdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC5jbG9zZS1idXR0b24ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IGF1dG87XHJcblx0XHRyaWdodDogYXV0bztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC40KTtcclxuXHRcdGNvbG9yOiAkY29sb3VyMjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpOyBcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG5cdH1cclxufVxyXG4uYXR0cmlidXRlTGlzdC5tZW51IHtcclxuICAgIC8vSWYgdGhlIG92ZXJmbG93IHNjcm9sbCBmdW5jdGlvbiBoYXMgYmVlbiBhY3RpdmUgYW5kIHRoZSBwYXJlbnQgbGkgaXMgbm90IGFjdGl2ZSBmb3JjZSB0aGUgYXR0cmlidXRlIHRvIGNsb3NlLlxyXG4gICAgPiB1bCA+IGxpOm5vdCguYWN0aXZlKSB7XHJcbiAgICAgICAgLmF0dHJpYnV0ZXNDb250YWluZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cdH1cclxuXHQ+IGxpIHtcclxuXHRcdG1hcmdpbjogJGZpbHRlcnMtb3B0aW9uLW1vYmlsZS1tYXJnaW47XHJcblx0XHRwYWRkaW5nOiAwIDAgMTVweDsgXHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdG1hcmdpbjogMCAwICRmaWx0ZXJzLW9wdGlvbi1kZXNrdG9wLW1hcmdpbjtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcclxuXHRcdH1cclxuXHRcdGxpIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcbiAgICB1bCB7XHJcblx0XHQvLyBwYWRkaW5nOiAxNXB4IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0Ym9yZGVyLXRvcDogMDtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdFx0bGkgeyBcclxuXHRcdFx0cGFkZGluZzogNXB4IDA7XHJcblx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICAgICAgbGkuYWN0aXZlIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjI7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcblx0XHRcdH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwMHB4O1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIC8vIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXJOYW1lLCAuZmlsdGVySXRlbUNvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbG91clByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICgkYXR0cmlidXRlQ29sb3VyUHJldmlld0RpbWVudGlvbnMgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkYXR0cmlidXRlQ29sb3VyUHJldmlld0RpbWVudGlvbnMgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG5cdFx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6IGFjdGl2ZS1jb2xvdXIoJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuZmlsdGVyTmFtZSB7XHJcblx0XHRcdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0XHR9XHJcblx0XHQuY29sb3VyLXByZXZpZXctY29udGFpbmVyIHtcclxuXHRcdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0XHRvcmRlcjogMztcclxuXHRcdH1cclxuXHRcdC5jb2xvdXJQcmV2aWV3IHtcclxuXHRcdFx0d2lkdGg6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LXdpZHRoO1xyXG5cdFx0XHRoZWlnaHQ6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWhlaWdodDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCAxMHB4IDAgYXV0bztcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctYm9yZGVyLXJhZGl1cztcclxuXHRcdFx0Ym9yZGVyOiAkZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXI7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHRcdC5maWx0ZXJJdGVtQ291bnQge1xyXG5cdFx0XHQvLyBtYXgtd2lkdGg6IDI1cHg7XHJcblx0XHRcdC8vIHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRvcmRlcjogMjtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMCA1cHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdH1cclxuXHRcdC5jb250cm9sIC5jaGVja2JveCB7XHJcblx0XHRcdC8vIEFkZCBtYXJnaW4gcmlnaHQgdG8gbGluZSB1cCB3aXRoIG1lbnUgY2hldnJvbnMuXHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdG9yZGVyOiA0O1xyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRyaWdodDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuXHQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LmlzLXN1Ym1lbnUtaXRlbSB7XHJcblx0XHQmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0LmlzLWFjY29yZGlvbi1zdWJtZW51IHtcclxuXHRcdC8vIGhlaWdodDogMTAwJTtcclxuXHRcdC8vIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0JlthcmlhLWhpZGRlbj10cnVlXSB7XHJcblx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHR9XHJcblx0XHQmLnNjcm9sbGVyIHtcclxuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0cGFkZGluZzogMCAxMHB4IDAgMDtcclxuXHRcdFx0Ly8gdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0Ly9JZiB0aGUgc2Nyb2xsIGNsYXNzIGlzIGFwcGxpZWQgdGhlbiBmb3JjZSB0aGUgc3ViIG1lbnUgdG8gZGlzcGxheS5cclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Lm9wdGlvbkhlYWRpbmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogJGZpbHRlcnMtb3B0aW9uLXBhZGRpbmc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdFx0Y29sb3I6IGRlZmF1bHQtY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cik7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpO1xyXG5cdFx0fVxyXG5cdFx0JjphY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpO1xyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdH1cclxuXHR9XHJcblx0LnN1Ym1lbnUge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0LnNob3dNb3JlQXR0cmlidXRlcywgLnNob3dMZXNzQXR0cmlidXRlcyB7XHJcblx0XHQmID4gYSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGdhcDogMCAxMHB4O1xyXG5cdFx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC13ZWlnaHQ7XHJcblx0XHRcdGZvbnQtc3R5bGU6ICRmaWx0ZXJzLXRvZ2dsZS1hdHRyaWJ1dGVzLWZvbnQtc3R5bGU7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnNob3dNb3JlQXR0cmlidXRlcy5hY3RpdmUge1xyXG5cdGEge1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1mb250LXNpemUpO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtaG92ZXItY29sb3VyO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLnNob3dMZXNzQXR0cmlidXRlcyB7XHJcblx0YSB7XHJcblx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG5cdFx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cik7XHJcblx0XHRcdGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cik7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjphY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG59XHJcblx0XHJcbiNmaWx0ZXJzLWNvbnRhaW5lciB7XHJcblx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4jYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XHJcblx0d2lkdGg6IDA7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtbW9iaWxlLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR9XHJcblx0Ji5hY3RpdmUge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji5hY3RpdmUtdXBkYXRpbmcge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdCNmaWx0ZXJzLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0b3BhY2l0eTogMC4zO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuYWN0aXZlLCAmLmFjdGl2ZS11cGRhdGluZyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0d2lkdGg6IDEwMHZ3O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0XHJcblx0XHRcdHotaW5kZXg6IDEwMDAwO1xyXG5cdFx0XHQuYXR0cmlidXRlLWxpc3QtY29udGFpbmVyIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBzY3JvbGw7XHJcblx0XHRcdH1cclxuXHRcdH1cdFxyXG5cdH1cclxuXHRoMiB7XHJcblx0XHQvL21hcmdpbjogNXB4IDAgMzBweDtcclxuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xyXG5cdFx0Y29sb3I6ICRmaWx0ZXJzLWhlYWRpbmctY29sb3VyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtaGVhZGluZy1mb250LXdlaWdodDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZzogMCAwIDVweDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjtcclxuXHRcdH1cclxuXHR9XHJcblx0dWwgbGl7XHJcblx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsaW5nIGZvciBtZW51cy5cclxuXHRcdCY6YWN0aXZlLCAmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSBhIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXIzLTY7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zaG93TW9yZUF0dHJpYnV0ZXNDb250YWluZXIge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0bGkge1xyXG5cdFx0XHQvLyBPdmVycmlkZSBkZWZhdWx0IHJlc3BvbnNpdmUgbWVudSBzdHlsaW5nLlxyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vIEFwcGxpZWQgZmlsdGVyc1xyXG4jYXBwbGllZEZpbHRlcnMge1xyXG5cdC8vIG1hcmdpbjogJGZpbHRlcnMtb3B0aW9uLW1vYmlsZS1tYXJnaW47XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0Ly8gbWFyZ2luOiAkZmlsdGVycy1vcHRpb24tZGVza3RvcC1tYXJnaW47XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG5cdH1cclxuXHRoMyB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAkYXR0cmlidXRlQXBwbGllZEhlYWRpbmdQYWRkaW5nO1xyXG5cdFx0Y29sb3I6ICRmaWx0ZXJzLWhlYWRpbmctY29sb3VyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nQmFja2dyb3VuZDtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC1zdHlsZTogJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcblx0fVxyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyO1xyXG5cdH1cclxuXHRsaSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IDVweCAwIDA7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGZpbHRlcnMtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaG92ZXItY29sb3VyO1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IDVweCAwIDVweCAwO1xyXG5cdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtY29sb3VyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXdlaWdodDogKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0IC0gMjAwKTtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAneCc7XHJcblx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogNXB4O1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAwLjY7XHJcblx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWljb24tY29sb3VyO1xyXG5cdFx0XHRmb250LXdlaWdodDogKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0ICsgMTAwKTtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplICsgMik7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUgKyA0KTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjY7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmLmNsZWFyLWFsbC1hdHRyaWJ1dGVzIHtcclxuXHRcdFx0bWFyZ2luOiAzMHB4IDAgMjBweDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSk7XHJcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0O1xyXG5cdFx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWFsbC1jb2xvdXI7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBHb3QgdG8gY29uc3RydWN0IHRoZSBzZWxlY3RvciBpbiB0aGlzIG1hbm9yIGR1ZSB0byBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG5pbnB1dC5wcmljZS1zbGlkZXItaW5wdXQge1xyXG5cdEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDA7XHJcblx0fVxyXG59XHJcblxyXG4ucHJpY2Utc2xpZGVyLWlucHV0IHtcclxuXHRtYXgtd2lkdGg6ICRmaWx0ZXJzLXBzLWlucHV0LXdpZHRoO1xyXG5cdG1heC1oZWlnaHQ6ICRmaWx0ZXJzLXBzLWlucHV0LWhlaWdodDtcclxuXHQvLyBPdmVycmlkZSBkZWZhdWx0IHBhZGRpbmcuXHJcblx0cGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcblx0Ly8gT3ZlcnJpZGluZyBkZWZhdWx0IG1hcmdpbiBmb3IgY3VycmVuY3kgb3V0cHV0LlxyXG5cdGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMCFpbXBvcnRhbnQ7XHJcblx0Ly8gRElTQUJMSU5HIEZSRUUgVEVYVCBJTlBVVCBXSUxMIElNUExFTUVOVCBJTiBQSEFTRSAyLlxyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdCYudWktc3RhdGUtYWN0aXZlIHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGZpbHRlcnMtcHMtYWN0aXZlLWNvbG91cjtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdH1cclxuXHQmLnVpLXN0YXRlLWFjdGl2ZSArIC5jdXJyZW5jeSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRmaWx0ZXJzLXBzLWFjdGl2ZS1jb2xvdXI7XHJcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHR9XHJcblx0Ly8gU3R5bGUgdGhlIGN1cnJlbmN5IHN5bWJvbC5cclxuXHQmICsgLmN1cnJlbmN5IHtcclxuXHRcdGhlaWdodDogJGZpbHRlcnMtcHMtaW5wdXQtaGVpZ2h0O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG5cdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuXHRcdEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0Jjpmb2N1cyArIC5jdXJyZW5jeSB7XHJcblx0XHRib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0Ym94LXNoYWRvdzogLTE1cHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuXHR9XHJcblx0JjpyZWFkLW9ubHkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcblx0fVxyXG59XHJcblxyXG4ucHJpY2UtaW5wdXQtY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHQmOm50aC1vZi10eXBlKDIpIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHR9XHJcbn1cclxuXHJcbiNwcmljZS1zbGlkZXIge1xyXG5cdG1heC13aWR0aDogOTYlO1xyXG5cdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0bWF4LXdpZHRoOiA5MyU7XHJcblx0fVxyXG59XHJcbiNwcmljZUF0dEhpZ2gge1xyXG5cdGZsb2F0OiByaWdodDtcclxufSIsIi8qXHJcbi0tLS0tIE1vZGFscyAtLS0tLS0gXHJcbi0gVGhpcyBpcyB0aGUgbWVjaGFuaXNtIHRoYXQgZ2V0cyB1c2VkIGZvciBwb3B1cCBjb250ZW50IGluIGV4cHJlc3MuXHJcbi0gQ2FuIGJlIHVzZWQgdG8gcG9wIGZvcm0sIGNtcyBjb250ZW50LCBub3RpZmljYXRpb24gJiBwYXltZW50IGZyYW1lcy5cclxuKi9cclxuXHJcblxyXG5AbWl4aW4gcGF5bWVudC1mcmFtZS1jb250ZW50LWNvbnRhaW5lcigpIHtcclxuICAgIG1heC13aWR0aDogJHBheW1lbnQtZnJhbWUtcG9wdXAtbWF4LXdpZHRoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi5tb2RhbC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAucG9wdXAtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoZSBhY3R1YWwgY29udGVudC5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgICAvLyBGb3JjZSBjb250ZW50IHRvIHRha2UgdXAgYXZhbGlibGUgc3BhY2Ugb3RoZXJ3aXNlIGNvbnRlbnQgY29udGFpbmVyIGNoYW5nZXMgc2l6ZSB3aGVuIGZvcm0gdmFsaWRhdGlvbiBpcyB0cmlnZ2Vycy5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvL2ZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gMzBweDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIEFkZCBhIGJpdCBvZiBicmVhdGhpbmcgcm9vbSBpbiBtb2JpbGUuXHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIC8vIE1ha2Ugc3VyZSBtb2RhbCBpcyBhYm92ZSBhbGwgY29udGVudC5cclxuICAgICAgICB6LWluZGV4OiAkbW9kYWwtY29udGVudC16LWluZGV4O1xyXG4gICAgICAgIC5wb3B1cC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hamF4IHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiBhdXRvOyBcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wcGVkLXNlc3Npb24ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyh2YXIoLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGgpICsgMTAwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuY21zLWVudHJ5LXZpZXdlciB7XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNpdGUtbGlzdCB7XHJcbiAgICAgICAgJi5wdWJsaXNoLWhpc3Rvcnkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZG9jdW1lbnRhdGlvbiB7XHJcbiAgICAgICAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogJGNvbG91cjM7XHJcbiAgICAgICAgJi5lbnRyeS1lZGl0b3Ige1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5OCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubW9kYWwtaGVhZGVyOmhhcyguY21zLWNvbnRlbnQtY29udGFpbmVyKSB+IC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIC8vIEtlZXAgY29udGVudCBpbmxpbmUgY21zIGNvbnRlbnQuXHJcbiAgICAgICAgICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyKSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMikgKiAyfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7c3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIsIGxhcmdlKSAqIDJ9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY2stZWRpdG9yX19tYWluID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tZWRpdG9yLWhlaWdodClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc2VydC1hcnRpY2xlLCAmLmluc2VydCwgJi5wcm9wZXJ0eS1lZGl0b3Ige1xyXG4gICAgICAgICAgICAuY2stZWRpdG9yIHtcclxuICAgICAgICAgICAgICAgIC5jay1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwdmg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubWVkaWEtYnJvd3NlciB7XHJcbiAgICAgICAgLm1lZGlhLWJyb3dzZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zb2Z0d2FyZS1kb3dubG9hZCB7XHJcbiAgICAgICAgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICAucmV2aXNpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwdmg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgICAgICAgICBwLCBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBpbmxpbmUgc3R5bGluZyB0byBwcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsIGJhciBhcyB0aGlzIHNwYWNpbmcgaXMgaGFuZGxlIGJ5IHBhZGRpbmcgaW4gZXhwcmVzcy5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjBweCAxZnIgMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciwgLmJ1dHRvbi1sYWJlbCwgLmJ1dHRvbi1jb250ZW50LWNvbnRhaW5lciwgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvZnR3YXJlLXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29mdHdhcmUtcmVsZWFzZS1kYXRlLXRpbWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGF5bWVudCwgJi5hZGQtbmV3LWNhcmQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBheW1lbnQtZnJhbWUtY29udGVudC1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUgeyBcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogJHBheW1lbnQtZnJhbWUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYyMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZW5xdWlyeS1mb3JtIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tZm9ybS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5icmFuY2gtc3dpdGNoZXIsICYuYWNjb3VudC1zd2l0Y2hlciAge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHggMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQW4gYXR0ZW1wdCB0byBtYWtlIHRoaXMgc2xpZ2h0bHkgbW9yZSByZXBzb25zaXZlLlxyXG4gICAgICAgIFtpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBib3JkZXIgdG8gb3V0bGluZSB0aGUgc2Nyb2xsYWJsZSBhcmVhLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBBZGRpbmcgZmFpbnQgaW5zZXQgYm94LXNoYWRvdyB0byBhdHRlbXB0IHRvIHNob3cgZWRpdGFibGUgYXJlYSBkdWUgdG8gYWNjZXNzaWJsaXR5IGNvbmNlcm5zLlxyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxOXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNicmFuY2gtc3dpdGNoZXItY29udGFpbmVyLCAjYWNjb3VudC1zd2l0Y2hlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDgwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLmJyYW5jaC1zd2l0Y2hlciwgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzLCAuYWNjb3VudC1zd2l0Y2hlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGhlYWRpbmctMy1tYXJnaW4sIDMsIFwicHJlc2V0LTJcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyB7XHJcbiAgICAgICAgICAgIC5hZGRyZXNzLWxpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgICYuZm9ybSB7XHJcbiAgICAgICAgLy8gR2VuZXJhbGlzaW5nIHRoZXNlIHN0eWxlcyB0byBiZSB1c2VkIGZvciBhbGwgZm9ybSBtb2RhbHMgZm9yIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgIC8vICYuc29oLW5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtb2RhbC1mb3JtLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tZm9ybS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAmLnRhYmxlIHtcclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOmZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnJhbmNoLXN3aXRjaGVyLCAmLmFjY291bnQtc3dpdGNoZXIge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJHVzZXJzLXBvcHVwLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXNlcnMtcG9wdXAtcGFkZGluZztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVzZXJzLXBvcHVwLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgei1pbmRleDogMTUwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCR1c2Vycy1wb3B1cC1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJHVzZXJzLXNlYXJjaC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWxlY3QtYnJhbmNoZXMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJsZS1mb290ZXItc3BhY2VyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5icmFuY2gtc2VhcmNoIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkdXNlcnMtc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC5jaGVja2JveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRm9yY2UgY2VudGVyIGFsaWdubWVudCBkdWUgdG8gbWl4ZWQgY29udGVudCBzbyBiYXNlbGluZSBpcyBub3QgYW4gb3B0aW9uIGhlcmUuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgW2luamVjdC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NjVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5zY2FubmVyIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY5MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy9tYXgtaGVpZ2h0OiA0NjVweDtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuXHJcbiAgICAmLmNhbGwtZm9ybSB7XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5NSU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52aWRlby1wbGF5ZXIge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LW1heC13aWR0aDtcclxuICAgICAgICAgICAgQGlmICgkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlcikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlcikge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk1dnc7XHJcbiAgICAgICAgICAgIFtpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcclxuICAgICAgICAgICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJG1vZGFsLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbi1yaWdodDogMjBweDtcclxuICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICRoZWFkaW5nLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMSwgJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAvLyBXb3JrIG91dCBzcGFjZSByZXF1aXJlZCBmb3IgY2xvc2UtYnV0dG9uIHRvIG1ha2Ugc3VyZSB0ZXh0IGRvZXNuJ3QgZ28gdW5kZXIuXHJcbiAgICAgICAgICAgICRjbG9zZS1idXR0b24tc2l6ZTogKCRtb2RhbC1jbG9zZS1idXR0b24tcG9zaXRpb24tcmlnaHQgKyAkaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggI3skY2xvc2UtYnV0dG9uLXNpemV9O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAjeyRjbG9zZS1idXR0b24tc2l6ZX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbW9kYWwtaGVhZGVyLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkbW9kYWwtaGVhZGVyLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkbW9kYWwtaGVhZGVyLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1vZGFsLWhlYWRlci1jbXMtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRpc2FibGVkLW5vLWNvbnRlbnQsICY6ZW1wdHkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMSwgJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhY3QtY2hlY2tlcigkY29sb3VyNiwgJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJGRlZmF1bHQtY29sb3VyLCAkaG92ZXItY29sb3VyKTtcclxuICAgICAgICB0b3A6ICN7KCRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXNpemUgLyAyKX1weDsgLy8gVHJ5aW5nIHRvIGJlIGNsZXZlciB0aGUgZm9udC1zaXplIGNoYW5nZXMgZnJvbSBzaXRlIHRvIHNpdGUuXHJcbiAgICAgICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1idXR0b24tcG9zaXRpb24tcmlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbmZpcm1hdGlvbiBtb2RhbHMgKCBTdWNjZXNzLCBXYXJuaW5nICYgQWxlcnQgKVxyXG4gICAgJi5jb25maXJtYXRpb24ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAoJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZyAvIDMpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEJlY2F1c2Ugd2UncmUgb25seSBzaG93aW5nIGEgbWVzc2FnZSBhbmQgdGhhdHMgdGhlIGVudGlyZSBwdXJwb3NlIG9mIHRoaXNlIG1vZGFsIHRlbGwgaXQgdG8gdGFrZSB1cCB0aGUgZW50aXJlIHdpZHRoLlxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgcCB7IFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMzVweCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgcCB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNhbmNlbC1idXR0b24tY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBcIlwiLCA3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhbGVydC1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH0gICBcclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6ICAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGlzIGxpa2UgYSBoYWxmIHdheSBiZXR3ZWVuIHN1Y2Nlc3MgYW5kIHdhcm5pbmcuXHJcbiAgICAmLmFjdGlvbi1yZXF1aXJlZCB7XHJcbiAgICAgICAgLy8gVE9ETzogVGVtcCBmaXggdW50aWwgZHluYW1pYyByZXBsYWNlcyB0aGUgY2xhc3MgLmNvbnRlbnQgIHdpdGggLm1lc3NhZ2UuXHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgd2FybmluZy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgJjpub3QoLmFqYXgpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3VjY2Vzcy1jbXMtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogMCA0NXB4IDIwcHgpKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gRGVtbyBwb3B1cC5cclxuICAgICYuZGVtbyB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMTVweCAxMzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDsgLy8gQ2hhbmdpbmcgdG8gcHJpbWFyeSBiYXNlIGFzIGJhcmVseSBhbnkgZWxlbWVudHMgd2FzIHVzaW5nIDQtNywgdHJ5aW5nIHRvIHNpbXBsaWZ5IHRoZSB1c2Ugb2YgZXhwcmVzcydzIGNvbG91ciBwYWxsZXRlLlxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4ODVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kYWwtbG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMzVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMzVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXNsb3QtMSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNzBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Utc2xvdC0yIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYW4pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMzVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyNCwgaG92ZXI6ICRjb2xvdXIxKSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCkpLFwiXCIsNzAwLCAod2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGNhbmNlbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWNvbG91ciwgJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91ciwgXCJcIiwgNzAwLCAod2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTW9kYWwgSW5mb3JtYWl0b24gLS0tLS0gXHJcbi5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCBmb3Jtcy5cclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1vZGFsLWZvcm0tZm9ybS1tYXJnaW4pO1xyXG4gICAgYm9yZGVyOiAkZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICAvLyBUcnkgYW5kIGtlZXAgY29uc2lzdGVudCB3aXRoIGZpZWxkc2V0cy5cclxuICAgIC5pbmZvcm1hdGlvbi1zZWN0aW9uIHtcclxuICAgICAgICAvLyBEdWUgdG8gdGhlc2UgY29udGFpbmVycyBoYXZlIHN0cmluZ3MgdGhhdCBhcmUgbm90IGxvbmcgZm9yY2luZyB3aWR0aCB0byBiZSA4MHZ3LlxyXG4gICAgICAgIG1pbi13aWR0aDogODB2dztcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIG1vYmlsZSk7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRmaWVsZHNldC1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRzZXQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmllbGRzZXQtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkZmllbGRzZXQtaGVhZGluZy10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgLy8gUmUtYWRqdXN0aW5nIHRoZSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIGEgcnVsZS5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCkgPT0gXCJ1cHBlcmNhc2VcIikge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCBmb3JtIGZpZWxkcy5cclxuICAgIC5pbmZvcm1hdGlvbi1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSW5qZWN0ZWQgY29udGVudCAtLS0tLVxyXG4vLy8gVGhlIGNvbnRhaW5lciBvZiB0aGUgY29udGVudC4gXHJcbi5pbmplY3QtY29udGVudCB7XHJcbiAgICAvLyBUaGlzIGlzIGZvciBjb250ZW50IHRoYXQgaXMgaW4gYSBmb3JtIHRoYXQgZ2V0cyBpbmplY3RlZCBpbnRvIGEgbW9kYWwgdGhlbiBiYWNrIGludG8gdGhlIGZvcm0gZm9yIHNlcmlhbGlzYXRpb24uXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi8vIFRoZSBjb250YWluZXIgaW4gdGhlIG1vZGFsLlxyXG5baW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gTWluIGhlaWdodCB0byBzaG93IGFqYXggc3Bpbm5lciBpZiB0aGVyZSBpcyBubyBjb250ZW50LlxyXG4gICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAvLyBBZGQgZmxleGJveCBsYXlvdXQgZm9yIGZvcm1zLlxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmOmhhcyhkaXYuQUpBWEJsb2NrKSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjQwcHhcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSB0byB0aGUgcmlnaHQgdG8gYWNjb3VudCBmb3IgYSBzY3JvbGwgYmFyLlxyXG4gICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBJbmplY3QgbW9kYWwgYnV0dG9uLlxyXG4uaW5qZWN0LWJ1dHRvbiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24sIGRlZmF1bHQpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAvLyBEb24ndCBhcHBseSB1bmRlcmxpbmUgYXMgdGhpcyBkb2Vzbid0IHdvcmsgd2VsbCB3aXRoIGljb25zLlxyXG4gICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24sIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgICAmLmZvcm0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgNTBweCBtYXJnaW4tcmlnaHQgdG8gYWxsb3cgZm9yIHJlYWQtb25seSBpY29uLlxyXG4gICAgICAgICAgICBtYXJnaW46IDAgNTBweCAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcm9jZWVkKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTs7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gTW9kdWxlcyAtLS0tLVxyXG5UaGVzZSBjYW4gYmUgdXNlZCBhbnl3aGVyZSBvbiB0aGUgc2l0ZSBoZWFkZXIsIG1haW4gY29udGVudCAmIGZvb3RlciwgdGhlc2UgaGF2ZSBhIGhhcmQgZGVwZW5kYW5jeSBvbiBmb3VuZGF0aW9uIFhZIGdyaWQgc3lzdGVtIGZvciB0aGVpciBwb3NpdGlvbmluZy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBQcm9kdWN0IC8gSW1hZ2UgY29sbGVjdGlvbnNcclxuICAtIEdyaWQgdmlld1xyXG4gIC0gU2xpZGVzaG93IHZpZXdcclxuLSBWYXJvdXMgQ01TIHR5cGVzOlxyXG4gIC0gQmxvZ1xyXG4gIC0gTmV3c1xyXG4gIC0gRXZlbnRzXHJcbiAgLSBHZW5lcmljIENNUyBlbnRyaWVzIFxyXG4tIEVCRyBJbmZvcm1hdGlvblxyXG4tIEJhY2tncm91bmRzICggQ3VycmVudGx5IG9ubHkgc3VwcG9ydCBqdXN0IGNvbG91cnMgbm90IGltYWdlcyApOiBcclxuICAtIFJvdyBCYWNrZ3JvdW5kcyBcclxuICAtIE1vZHVsZSBCYWNrZ3JvdW5kc1xyXG4qL1xyXG5cclxuLy8gU3R5bGluZyBmb3IgdGVtcGxhdGUgbW9kdWxlcyAoIENhcm91c2VscyAmIGNtcyB0ZXh0ICkgKyByb3cgYmFja2dyb3VuZHMuXHJcblxyXG4vLyAucm93LWJhY2tncm91bmQge1xyXG4vLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4vLyAgICAgJi5yb3ctcGFkZGluZyB7XHJcbi8vICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbW9kdWxlcy1yb3ctcGFkZGluZywgc21hbGwpIDA7IFxyXG4vLyAgICAgICAgIC8vIG1hcmdpbjogbWFwLWdldCgkbW9kdWxlcy1yb3ctbWFyZ2luLCBzbWFsbCk7XHJcbi8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1wYWRkaW5nLCBsYXJnZSk7XHJcbi8vICAgICAgICAgICAgIC8vIG1hcmdpbjogbWFwLWdldCgkbW9kdWxlcy1yb3ctbWFyZ2luLCBsYXJnZSk7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4vLyBBcyB0aGF0IGlzIG1vcmUgdGhhbiBsaWtlbHkgbWFyZ2luIG9uIHRoZSBhYm92ZSBlbGVtZW50IHdlIGRvbid0IG5lZWQgdG8gYWRkIGEgbWFyZ2luIHRvcCB0byB0aGUgZmlyc3QgbW9kdWxlLlxyXG5AaWYgKCRtb2R1bGVzLWZpcnN0LXJvdy1tb2R1bGUtbWFyZ2luLXRvcCkge1xyXG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJG1vZHVsZXMtZmlyc3Qtcm93LW1vZHVsZS1tYXJnaW4tdG9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMywgc21hbGwpXHJcbiAgICB9XHJcbiAgICAmLmNvbnRhaW5lci1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBzbWFsbCkgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAzLCBsYXJnZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7c3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgbGFyZ2UpfTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICBib3JkZXI6ICRtb2R1bGUtaGVhZGluZy1ib3JkZXI7XHJcbiAgICAgICAgLy8gU3VwcHJlc3MgY21zIGNvbnRlbnQgcGFkZGluZy10b3AgZHVlIHRvIGhlYWRpbmdzIG5vcm1hbGx5IGhhdmluZyB0aGUgbWFyZ2luIGJvdHRvbSBhbHJlYWR5IGFwcGxpZWQuXHJcbiAgICAgICAgJiArIC5jbXMtbW9kdWxlIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIElmIG1vZHVsZSBoZWFkaW5nIGV4aXN0cyB0aGVuIHJlbW92ZSBwYWRkaW5nLlxyXG4ubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgKyAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIFNlbGVjdGluZyBpbnNpZGUgb2YgdGhlIGdyaWQtY29udGFpbmVyIGFzIHlvdSB3aWxsIG1vc3QgbGlrZWx5IG5vdCB3YW50IHRoZSByYWRpdXMgaWYgeW91J3JlIGZ1bGwgd2lkdGguXHJcbkBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAuZ3JpZC1jb250YWluZXIgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kdWxlcy1tb2R1bGUtYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxuICAgIC5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1vZHVsZXMtcm93LWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIC8vIEZhbGxiYWNrIGlmIG5vIG1vZHVsZSBwYWRkaW5nIGlzIHByb3ZpZGVkLlxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgIC8vIH1cclxuICAgICYubW9kdWxlLXBhZGRpbmcge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0je3NwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDEsIGxhcmdlKX07IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuNSU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzc1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTm8gdG9wIGd1dHRlci5cclxuICAgICYucmVtb3ZlLW1hcmdpbi10b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBObyBib3R0b20gZ3V0dGVyLlxyXG4gICAgJi5yZW1vdmUtbWFyZ2luLWJvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC8vIE5vIHRvcCArIGJvdHRvbSBndXR0ZXIuXHJcbiAgICAmLnJlbW92ZS1tYXJnaW4tYm90aCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDb2xsZWN0aW9ucyAtLS0tLSBcclxuLmNvbGxlY3Rpb24ge1xyXG4gICAgLy8gRGVmYXVsdCB0byBwcm9kdWN0IGFzcGVjdCByYXRpbywgb3ZlcnJpZGUgaWYgbmVlZGVkLlxyXG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgY29sbGVjdGlvbiBnb2VzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBjb250YWluZXIgKCBwcm9kdWN0IGxpc3QgKVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmLnNob3ctY29sb3VycyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAoNXB4IC0gKCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLXdpZHRoICogMikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRncmlkLWd1dHRlci1yZXNwb25zaXZlLW1hbmlwdWxhdG9yOiAxLjMgIWRlZmF1bHQ7XHJcblxyXG4gICAgLy8gR3V0dGVyIGNvbmZpZ3VyYXRpb24uXHJcbiAgICAmLmNvbGxlY3Rpb24tcmVtb3ZlLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYuY29sbGVjdGlvbi1zbWFsbC1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcil9O1xyXG4gICAgfVxyXG5cclxuICAgICYuY29sbGVjdGlvbi1tZWRpdW0tZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7KG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcikgLyAkZ3JpZC1ndXR0ZXItcmVzcG9uc2l2ZS1tYW5pcHVsYXRvcil9O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcil9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvbGxlY3Rpb24tbGFyZ2UtZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7KGxhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKSAvICRncmlkLWd1dHRlci1yZXNwb25zaXZlLW1hbmlwdWxhdG9yKX07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pbWFnZS1ncmlkLW1vZHVsZSwgJi5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcclxuICAgICAgICAvLyBMb29rIGZvciBpbmxpbmUgc3R5bGUncyBmaXJzdCBhcyBiYW5uZXIgY2FuIGJlIHVwbG9hZGVkIGluIGFsbCBkaWZmZXJlbnQgc2l6ZXMsIHRoZW4gZGVmYXVsdCBiYWNrIHRvIGF1dG8gaWYgbm90aGluZyBpcyBwcm92aWRlZC5cclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99OyBcclxuICAgIH1cclxuXHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRlYmctbWVkaWEtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT3ZlcnJpZGUgZm91bmRhdGlvbidzIGNlbGwgY2FsY3VsYXRpb24gaW4gZmF2b3VyIG9mIG91dCBvd24uXHJcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLy8gT3ZlcnJpZGUgdG8gdXNlIHRoZSBncmlkIGxheW91dCBtb2R1bGUuXHJcbiAgICAuZ3JpZC14IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZvcm11bGEgdXNlZCBmb3IgY2FsY3VsYXRpbmcgY29sdW1uIHdpZHRocyBjb2xsZWN0aW9ucy5cclxuICAgIEBtaXhpbiBjb2xsZWN0aW9uLWdyaWQtY2VsbC1jYWxjdWxhdG9yKCRjb3VudCkge1xyXG4gICAgICAgIC8vIFRoaXMgZm9ybXVsYSBpcyBiYXNlZCBvbiB0aGlzIHN0YWNrIHBvc3QgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzIxMTYxNzAvYWNjb3VudC1mb3ItZ2FwLXdoZW4tY2FsY3VsYXRpbmctZmxleC1iYXNpcy5cclxuICAgICAgICAvL3dpZHRoOiBjYWxjKCN7eHktY2VsbC1zaXplKDEgb2YgI3skY291bnR9KX0gLSB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAwcHgpIC8gJGNvdW50ICogKCRjb3VudCAtIDEpKTtcclxuICAgICAgICB3aWR0aDogY2FsYygje3h5LWNlbGwtc2l6ZSgxIG9mICRjb3VudCl9IC0gdmFyKC0tbW9kdWxlLWd1dHRlciwgMHB4KSAvICN7JGNvdW50fSAqICgjeyRjb3VudH0gLSAxKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSG93IG1hbnkgY29sdW1ucyBkbyB3ZSBzdXBwb3J0IGZvciBjb2xsZWN0aW9ucz9cclxuICAgICRjb2xsZWN0aW9uLW1heC1jb2x1bW4tY291bnQ6IDg7XHJcblxyXG4gICAgQG1peGluIGdyaWQtY29sdW1uLWNsYXNzZXMoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICBAZm9yICRjb2x1bW4tY291bnQgZnJvbSAxIHRocm91Z2ggJGNvbGxlY3Rpb24tbWF4LWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgICAgIC4jeyRicmVha3BvaW50fS11cC0jeyRjb2x1bW4tY291bnR9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgjeyRjb2x1bW4tY291bnR9LCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU21hbGwgRGV2aWNlcyAoIFBob25lcyApXHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jbGFzc2VzKCdzbWFsbCcpO1xyXG4gICAgLy8gTWVkaXVtIERldmljZXMgKCBUYWJsZXRzIClcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNsYXNzZXMoJ21lZGl1bScpO1xyXG4gICAgLy8gTGFyZ2UgRGV2aWNlICggRGVza3RvcHMgJiBBYm92ZSApXHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jbGFzc2VzKCdsYXJnZScpO1xyXG5cclxuICAgIC8vIFNwZWNpZmljYWxseSB0YXJnZXR0aW5nIGNvbGxlY3Rpb24gaW1hZ2VzICggdGhpcyBpbmNsdWRlcyBncmlkJ3MgYW5kIGNhcm91c2VscyApIHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBpbWFnZXMgYXMgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgc2l6ZSBvZiBleHRlcm5hbCBkYXRhJ3MgaW1hZ2VzLlxyXG4gICAgQGZvciAkY29sdW1uLWNvdW50IGZyb20gMSB0aHJvdWdoICRjb2xsZWN0aW9uLW1heC1jb2x1bW4tY291bnQge1xyXG4gICAgICAgIC5zbWFsbC11cC0jeyRjb2x1bW4tY291bnR9LCBbYngtY29sdW1uLWNvdW50PVwiI3skY29sdW1uLWNvdW50fVwiXSB7XHJcbiAgICAgICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnc21hbGwnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIG5vdCAoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZS1yZXN0cmljdGVkLWJ5LXdpZHRoLW9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ3NtYWxsJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qgc2V0IGZpdC1jb250ZW50IGFzIHRoaXMgY2F1c2VzIHNjYWxsaW5nIGlzc3VlcyBmb3IgYXBwbGUgZGV2aWNlcy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBDdXJyZW50bHkgZG9uJ3QgZG8gYW55dGhpbmcgZGlmZmVyZW50IGZvciBtZWRpdW0gZGV2aWNlcyAoIHRhYmxldHMgKSB0byBzbWFsbCBkZXZpY2UgYnV0IHRoaXMgbWF5IG5lZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLlxyXG5cclxuICAgICAgICAubGFyZ2UtdXAtI3skY29sdW1uLWNvdW50fSwgW2J4LWNvbHVtbi1jb3VudD1cIiN7JGNvbHVtbi1jb3VudH1cIl0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ2xhcmdlJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgbm90ICgkY29sbGVjdGlvbi1pbWFnZS1zaXplLXJlc3RyaWN0ZWQtYnktd2lkdGgtb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1kZWVwLWdldCgkY29sbGVjdGlvbi1pbWFnZS1zaXplcywgJ2xhcmdlJywgJGNvbHVtbi1jb3VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfSBcclxuXHJcbiAgICAmLnNob3ctY29sb3VycyB7XHJcbiAgICAgICAgLy8gQXMgdGhpcyBjYW4gb25seSBiZSBFQkcgb25seSBzZWxlY3QgZWJnIGNvbGxlY3Rpb24gaXRlbXMuXHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbS5lYmcge1xyXG4gICAgICAgICAgICAvLyAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy8gLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyMSwgbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjQsIG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzdHlsZXMgZm9yIGJvdGggY29tcGFjdCBhbmQgbm9uLWNvbXBhY3QgbW9kZXMuXHJcbiAgICAgICAgICAgICAgICAmLmNvbXBhY3QsICY6bm90KC5jb21wYWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmLmNvbXBhY3QsICY6bm90KC5jb21wYWN0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEltYWdlIHNwZWNpZmljIHN0eWxlcy5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gRG8gd2Ugcm91bmQgaW1hZ2UgY29udGFpbmVyIGVkZ2VzP1xyXG4gICAgICAgICRyb3VuZC1pbWFnZS1lZGdlczogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgIC8vIElmIHRoZSBjb250YWluZXIgaGFzIHRoZSBpbWFnZSBjbGFzcyB0aGVuIHB1dCBhIGJvcmRlciBhbGwgdGhlIHdheSBhcm91bmQgdGhlIGNlbGwuXHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhhbmRsZXMgaWYgdGhlIGN1cnJlbnQgY29udGFpbmVyIGlzIGp1c3QgZm9yIGFuIGltYWdlIG9yIHdoZXRoZXIgdGhlIGltYWdlIGlzIG5lc3RlZC5cclxuICAgICAgICAuaW1hZ2UsICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJvdW5kLWltYWdlLWVkZ2VzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8qIFNldHRpbmcgdGhpcyBnZW5lcmljYWxseSBmb3IgdGhlIGZvbGxvd2luZyByZWFzb25zOlxyXG4gICAgICAgICAgICAxLiBJZiBjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cyBpcyBlbmFibGVkXHJcbiAgICAgICAgICAgIDIuIElmIGltYWdlIHNjYWxlIGlzIGVuYWJsZWQuXHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuaW1hZ2UsICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIC8vIFRyaWFsaW5nIHRoaXMgZml4IHRvIGJlIGEgYml0IG1vcmUgcmUtYWN0aXZlIHRvIGNvbHVtbiBjb3VudHMgaW4gbW9iaWxlIGRldmljZSB3aGVuIHNob3dpbmcgMiBjb2x1bW5zIG9mIGluZm9ybWF0aW9uLCB3ZSBkb24ndCBkZWZpbmUgdGhlIG1vYmlsZSBjb3VudCBzbyB0aGVyZSBpcyBub3RoaW5nIHRvIGxhdGNoIG9udG8gaW4gdGhlIERPTSB3aGljaCB3b3VsZCBzdWdnZXN0IDIgY29sdW1ucyBhcyB0aGUgd2lkdGggYXJlIHByb2dyYW1hdGljYWxseSB3b3JrZWQgb3V0IGluIHRoZSBKUyBieSBkaXZpZGluZyB0aGUgZGVza3RvcCBjb3VudC5cclxuICAgIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJbWFnZSAmIFByb2R1Y3QgZ3JpZCBjb2xsZWN0aW9ucywgdGhpcyBnZXRzIHVzZWQgZm9yIG1vZHVsZXMgYW5kIHByb2R1Y3QgbGlzdGluZyBwYWdlcy5cclxuLmltYWdlLWdyaWQtbW9kdWxlLCAucHJvZHVjdC1ncmlkLW1vZHVsZSwgLmNvbGxlY3Rpb24ge1xyXG4gICAgLmdyaWQtY29sbGVjdGlvbi14IHtcclxuICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7c21hbGwtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0uY2VsbCB7XHJcbiAgICAgICAgICAgIC8vIFVuc2V0IEZvdW5kYXRpb24ncyBYWSBHcmlkIHdpZHRoIGluIGZhdm91ciBvZiBvdXIgb3duIG1vZHVsZSdzIGdyaWQgc3lzdGVtIHRoYXQgaXMgbm90IGJhc2VkIG9uIGZsZXhib3guXHJcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gUHJvZHVjdCBHcmlkIENvbGxlY3Rpb24gLS0tXHJcbi5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcclxuICAgIC5jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIsICdwYWRkaW5nJyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IHYyIGNhbiBnbyBhZnRlciBtb2R1bGVzIHJlZmFjdG9yIGNvbXBsZXRlLi4uLlxyXG4gICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoaWYoJGNvbGxlY3Rpb24tZWJnLWdyaWQtc3VwcHJlc3MtYmFja2dyb3VuZCwgdHJ1ZSwgZmFsc2UpLCB0cnVlKTtcclxuICAgIC8vIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgLy8gRm9yIGJveCBzaGFkb3cuXHJcbiAgICAvLyAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi1zaGFkb3coKTtcclxuICAgIC8vIH1cclxufVxyXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gTWFraW5nIGFuIGFzc3VtcHRpb24gdGhhdCB0aGUgZmlyc3QgYW5jaG9yIGlzIGFuIGltYWdlLlxyXG4gICAgICAgID4gYTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgLy8gQ2VudGVyIGltYWdlIGluc2lkZSBvZiBhbmNob3IganVzdCBpbiBjYXNlIHRoZSBpbWFnZSBpcyBub3QgdGhlIGNvcnJlY3Qgc2l6ZSB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXJyYW5nZWQgbGVmdC5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6bm90KDpoYXMoaW1nKSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLWNlbGwtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgKCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCB7XHJcbiAgICAgICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aCwgMikgPT0gMCBhbmQgc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aCwgMykgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG5vIGJvcmRlciBvbiB0aGUgc2l6ZSBidXQgYXQgdGhlIGJvdHRvbSB0aGVuIHlvdSBtb3N0IGxpa2VseSBuZWVkIGFkZHRpb25hbCBwYWRkaW5nIHRvIHB1c2ggdGhlIHJ1bGUgYXdheSBmcm9tIHRoZSBjb250ZW50LlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIEltYWdlIEdyaWQgQ29sbGVjdGlvbiAtLS0gXHJcbi5pbWFnZS1ncmlkLW1vZHVsZSB7XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKDIwcHgsICdwYWRkaW5nJyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyICB7XHJcbiAgICAgICAgLy8gQWRkaW5nIHdpZHRoIGZpdC1jb250ZW50IGlmIGJvcmRlciBpcyBhcHBsaWVkIG90aGVyd2lzZSBhIGdhcCBSICsgTCBpcyBjcmVhdGVkIGluIG1vYmlsZSBkdWUgdG8gb25seSBzdXBseWluZyBvbmUgaW1hZ2Ugc2l6ZSBmb3IgbW9iaWxlICYgZGVza3RvcC5cclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC8vIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRjb2xsZWNpdG9uLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLmNvbnRlbnQtY29udGFpbmVyICB7XHJcbiAgICAvLyAgICAgQGlmICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDAge1xyXG4gICAgLy8gICAgICAgICBpbWcge1xyXG4gICAgLy8gICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgJjpob3ZlciB7XHJcbiAgICAvLyAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwIHtcclxuICAgIC8vICAgICAgICAgICAgIGltZyB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQ29udGVudCBNYW5hZ21lZW50IE1vZHVsZSAoIENNUyApIC0tLS0tXHJcbi5jbXMtbW9kdWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gVGFrZSB1cCBhbGwgYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1pbWFnZS1nYWxsYXJ5KCk7XHJcbiAgICBAaW5jbHVkZSBjbXMteW91dHViZS12aWRlbygpO1xyXG4gICAgQGluY2x1ZGUgY21zLWNvZGUoKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDIpID09IHRydWUsbm9uZSx1bmRlcmxpbmUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgzKSA9PSB0cnVlLG5vbmUsdW5kZXJsaW5lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIEBpZiAkY21zLW1vZHVsZS1oZWFkaW5nLWNvbG91ciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY21zLW1vZHVsZS1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgLy8gVGFrZSB1cCBhbGwgYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgQGlmICgkY21zLW1vZHVsZS1jb250ZW50LWp1c3RpZnktY29udGVudCkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRjbXMtbW9kdWxlLWNvbnRlbnQtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnRzLW1vZHVsZSB7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1ldmVudHMtZ2FwKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1ldmVudHMtcGFkZGluZyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAvKiogV29yayBvdXQgdGhlIGNvbHVtbiB3aWR0aCwgdGhpcyB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBmb3IgYSAyIGNvbHVtbiBsYXlvdXQgd2hpY2ggZ29lcyBkb3duIHRvIGEgc2luZ2xlIGNvbHVtbiBpbiB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnNcclxuICAgICAgICAgICAgLSBJbiBtb2JpbGVcclxuICAgICAgICAgICAgLSBXaGVuIHRoZSBtb2R1bGUgY29udGFpbmVyIGlzIG5vIGxvbmdlciB3aWRlIGVub3VnaCB0byBzaG93IHRvIGNvbHVtbnMgd2l0aCBhIHdpZHRoIG9mIHRoZSBjYWxjdWxhdGVkIGNvbHVtbiB3aWR0aCBiZWxsb3cuXHJcbiAgICAgICAgICAgICoqL1xyXG4gICAgICAgICAgICAkY29sdW1uLXdpZHRoOiAoJGdsb2JhbC13aWR0aCAvIDIpIC0gKGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nKSkgLSBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtZ2FwKTtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4tY29udGVudCwgJGNvbHVtbi13aWR0aCkpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgZXZlbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJzbWFsbFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcInNtYWxsXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwibGFyZ2VcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBldmVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2ctbW9kdWxlIHtcclxuICAgICAgICAvLyBUbyBmb3JjZSB0aGUgYWRkaXRpb25hbCBzcGFjZSB0aGF0IG5vcm1hbGx5IG9ubHkgZ2V0cyBhcHBsaWVkIGlmIG1vZHVsZXMgaGFzIGEgYmFja2dyb3VuZC5cclxuICAgICAgICBAaWYgJG1vZHVsZXMtYmxvZy15LWd1dHRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIHNtYWxsKSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIGxhcmdlKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1vZHVsZXMtYmxvZy15LWd1dHRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtYmxvZy1tYXJnaW4sIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFVuc2V0IHRoZSBtYXgtaGVpZ2h0IGlmIHRoZXJlIGlzIGEgYmFubmVyLCB0byB0aGVuIG1hdGNoIHRoZSBiYW5uZXIncyBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtb2R1bGVzLWJsb2ctY29udGVudC1yZWFkLW1vcmUtbWF4LWhlaWdodC13aXRoLWJhbm5lcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtb2R1bGVzLWJsb2ctY29udGVudC1yZWFkLW1vcmUtbWF4LWhlaWdodC13aXRoLWJhbm5lcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1ibG9nLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWJsb2ctY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICAkcmVhZC1tb3JlLWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkcmVhZC1tb3JlLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIC8vIEFkZCBtYXggaGVpZ2h0IHRvIGNvbnRlbnQgb3RoZXJ3aXNlIGZhZGUgZWZmZWN0IHdpbGwgYmUgaW4gdGhlIG92ZXJmbG93LlxyXG4gICAgICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkcmVhZC1tb3JlLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwic21hbGxcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwic21hbGxcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwibGFyZ2VcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJibG9nXCIsIFwibGFyZ2VcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgQGlmICRtb2R1bGVzLW5ld3MteS1ndXR0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBuZXdzKTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LCBuZXdzKTtcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcInNtYWxsXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcInNtYWxsXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJsYXJnZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcIm5ld3NcIiwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJG1vZHVsZXMtbmV3LWhlYWRpbmctbWFyZ2luO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaWYgKCRtb2R1bGVzLW5ld3MtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRtb2R1bGVzLW5ld3MtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZW50cnktbW9kdWxlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDIsIHNtYWxsKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogbWFwLWdldCgkY21zLW1vZHVsZS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBcyBhIHJ1bGUgb2YgdGh1bWIgaWYgd2UgYWxpZ24gdGV4dCBjZW50ZXIgd2Ugc2hvdWxkIGp1c3RpZnkgdGhlIGVudGlyZSBjb250ZW50IGFzIHdlbGwuXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIC0tLSBUZXh0IGFsaWdubWVudCAtLS1cclxuICAgICAgICAmLnRleHQtYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50ZXh0LWFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudGV4dC1hbGlnbi1jZW50ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyAtLS0gTGF5b3V0IFN0eWxlcyAtLS0gXHJcbiAgICAgICAgLy8gQ29udGVudCBib3R0b20sIGltYWdlIHRvcC5cclxuICAgICAgICAmLm11bHRpbWVkaWEtdG9wIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIsICYuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogc21hbGwtdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb250ZW50IExlZnQsIGltYWdlIHJpZ2h0LlxyXG4gICAgICAgICYubXVsdGltZWRpYS1yaWdodCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGlmICgkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6ICRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogc21hbGwtdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbnRlbnQgVG9wLCBpbWFnZSBib3R0b20uXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDb250ZW50IFJpZ2h0LCBpbWFnZSBsZWZ0LlxyXG4gICAgICAgICYubXVsdGltZWRpYS1sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaWYgKCRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgbWluLWhlaWdodDogJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogc21hbGwtdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGF5b3V0LXN0eWxlIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBvbGQgc3R5bGVzLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICAvLyBUT0RPOiB0aGlzIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgdXNlcidzIHdvdWxkIHVwbG9hZCBpbWFnZXMgdGhhdCBhcmUgdG9vIGJpZyBmb3IgdGhlIGNvbnRlbnQgYXJlYSB3aGljaCB0aGVuIGNhdXNlcyB0aGUgaW1hZ2UgdG8gb3ZlcmZsb3cgdGhlIGNvbnRhaW5lcidzIGJvdW5kYXJpZXMuIDg2NTA0MlxyXG4gICAgICAgIC8vIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgLy8gICAgIC5pbWFnZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAvLyAgICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgJi5jb21wYWN0IHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBndXR0ZXIuXHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGxpc3QgcGFkZGluZyBydWxlcyBkdWUgdG8gY2F1c2luZyBsYXlvdXQgbm90IHRvIGFiaWRlIGJ5IHRoZSBmbGV4LWJhc2lzIHJ1bGVzIGlucGxhY2UsIGJhc2ljYWxseSBuZXN0ZWQgdWwncyB3aWxsIGNhdXNlIHRoZSBjb250ZW50IHRvIHRha2UgdXAgdG9vIG11Y2ggc3BhY2UuXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJpZ2h0LWFsaWduZWQsICYubGVmdC1hbGlnbmVkLCAmLmNvbXBhY3Qge1xyXG4gICAgICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIGVudHJ5KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIGVudHJ5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFzIGFzc29jaWF0ZWQgYmFubmVyLlxyXG4gICAgICAgIC8vICYuaGFzLWltYWdlIHtcclxuICAgICAgICAvLyAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIC8vIEJ5IGRlZmF1bHQuXHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJpZ2h0LWFsaWduZWQsICYubGVmdC1hbGlnbmVkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIC5jb250ZW50LWhlYWRpbmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2MCU7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJpZ2h0LWFsaWduZWQge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxlZnQtYWxpZ25lZCB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmOm5vdCguaGFzLWltYWdlKSB7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb2x1bW4ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDgwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggYXV0byA2MHB4O1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLnJvdy1pbnZlcnQge1xyXG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIC8vIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDI5MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNi41JTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuY29sdW1uLWludmVydCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRoaXMgbmVlZHMgdG8gZ28gYWZ0ZXIgODE3MTM4IGlzIGxpdmUuXHJcbiAgICAmOm5vdCguY29sdW1uKTpub3QoLmNvbHVtbi1pbnZlcnQpOm5vdCgucm93LWludmVydCk6bm90KC5sYXlvdXQtc3R5bGUpLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGluIElFIHRoZSBjb250ZW50IGdvZXMgb3V0IG9mIHRoZSBtb2R1bGUgd2lkdGguXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIC8vIENhbm5vdCBzdXBwcmVzcyB0aGlzIHdpdGhvdXQgdXNpbmcgdGhlIG5ldyBsYXlvdXQtc3R5bGUgb3B0aW9ucy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgICY6bm90KC5sZWZ0LWFsaWduZWQpIHtcclxuICAgICAgICAmLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29sdW1uLWludmVydCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAvLyBJbWFnZSBtYW5hZ2VtZW50LmNhcm91c2VsLW1vZHVsZVxyXG4gICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAgICAgXHJcbiAgICAgICAgICAgIHBsYWNlLWNvbnRlbnQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgLy8gRG9udCBzZXQgaGVpZ2h0IDEwMCUgYXMgaXQgd2lsbCBjYXVzZSBsYXJnZSBzcGFjZXMgYmVsbG93IC8gYWJvdmUgZm9yIEFwcGxlIGRldmljZXMgaW4gbW9iaWxlIHRoaXMgaXMgYW1wbGlmaWVkIGRlcGVuZGluZyBvbiBob3cgb3ZlcnNpemVkIHRoZSB0aGUgaW1hZ2UgaXMuXHJcbiAgICAgICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdDsgLy8gVGhpcyBuZWVkcyB0byBiZSBzZXQgZm9yIGlmIHRoZSBjb25maWd1cmF0aW9uIGluIGRlc2t0b3AgZGVjaWRlcyB0byB1c2UgY29udGFpbiBpbnN0ZWFkIG9mIGNvdmVyLlxyXG4gICAgICAgICAgICAvLyBCZWNhdXNlIElFIGRvZXNuJ3QgaGF2ZSBzdXBwb3J0IGZvciBvYmplY3QtZml0LlxyXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSUUxMCtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAvLyBtYXgtaGVpZ2h0OiA3NSU7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICAvL21hcmdpbjogMCAwIDE1cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5tb2R1bGUtbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgIC8vIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG4gICAgLmJsb2ctYnV0dG9uLCAubmV3cy1idXR0b24sIC5ldmVudHMtYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFN1cHByZXNzaW5nIGFzIHRoaXMgZG9lc24ndCB3b3JrIGZvciAxMiBjb2x1bW4gbW9kdWxlcywgdGhlcmUgaXMgSlMgaW4gcGxhY2UgdG8gZGV0ZWN0IHdoZXRoZXIgYSBtb2R1bGUgaGFzIGJlZW4gZXF1YWxpc2VkLlxyXG4vLyBUaGlzIGlzIHRvIHByZXZlbnQgbG9uZyBjbXMgZW50cmllcyBmcm9tIGRpY3RhdGluZyB0aGUgaGVpZ2h0IG9mIHR3byBjZWxscyBpLmUgd2hlbiB5b3UgaGF2ZSBhIGNvbGxlY3Rpb24gdG8gdGhlIHJpZ2h0IGFuZCBjbXMgdG8gdGhlIGxlZnQsIG9uY2UgZXF1YWxpc2F0aW9uIGhhcyBmaW5pc2hlZCB0aGUgY29udGVudCBpcyByZS1lbmFibGVkIGFuZCB0aGUgcmVhZCBtb3JlIGZhZGUgaXMgdGhlbiBhcHBsaWVkLCB0aGUgb3RoZXJ3YXkgYXJvdW5kIHRoaXMgd291bGQgYmUgbm90IHRvIHByb3ZpZGUgYXMgbXVjaCBtYXJrdXAgZnJvbSBhIGNtcyBlbnRyeSBidXQgdGhhdCBnZXRzIGNvbXBsZXggaW4gdGVybXMgb2YgZ2VuZXJhdGluZyBpbnZhbGlkIEhUTUwuXHJcbi8vIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbi8vICAgICAmW2RhdGEtZXF1YWxpemVyLXdhdGNoXTpub3QoW3N0eWxlKj1cImhlaWdodFwiXSkge1xyXG4vLyAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4ucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcge1xyXG4gICAgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIHtcclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogNTkwcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDYuNSU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzc1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBNb2R1bGUgQmFja2dyb3VuZHMgLS0tLS0gXHJcbi5yb3ctYmFja2dyb3VuZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgLy8gICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAuY21zLXN1YnNpZGlhcnktbW9kdWxlIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyBcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gLS0tIFBhZGRpbmcgY29uZmlndXJhdGlvbiAtLS0gXHJcbiAgICAmLnJlbW92ZS1wYWRkaW5nLXRvcCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmVtb3ZlLXBhZGRpbmctYm90aCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAucm93LWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICZbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAvLyBNYWtlIHN1cmUgdG8gc3BhbiB0aGUgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgYXMgdGhpcyBjYW4gY2F1c2VcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbik7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKTtcclxuICAgIC8vIFJlbW92aW5nIGFzIGl0IHdhcyBnZXR0aW5nIGluIHRoZSB3YXkgb2YgbW9kdWxlIGNvbmZpZ3VyYXRpb24uXHJcbiAgICAvLyB6LWluZGV4OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbiwgMywgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgLy8gWW91IGRvbnQgbmVlZCBhcyBtdWNoIGFkZGl0aW9uYWwgcGFkZGluZyBpZiBubyBjb2xvdXIgaXMgc2V0LlxyXG4gICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0ge1xyXG4gICAgICAgIC5jbXMtbW9kdWxlIHtcclxuICAgICAgICAgICAgJi5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCA0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDQsIHNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSwgJi5oYXMtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgLy8gQWRkIGEgc21hbGwgZ3V0dGVyIHRvIHRoZSByaWdodCArIGxlZnQgdG8gYWxsb3cgZm9yIHRoZSBiYWNrZ3JvdW5kIHRvIGJsZWVkIGFyb3VuZCBpdC5cclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1tb2R1bGUge1xyXG4gICAgICAgICAgICAmLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV3cy1tb2R1bGUge1xyXG4gICAgICAgICAgICBtYXJnaW46IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDAsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAwLCBsYXJnZSk7ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzcyBzaGFkb3cgYXMgdGhpcyBkb2Vzbid0IGxvb2sgdmVyeSBnb29kIG9uIGFueXRoaW5nIG90aGVyIHRoYW4gYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yb3ctYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb2R1bGUtYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIENhcm91c2VsIE1vZHVsZSAtLS0tLVxyXG4ucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgLy8gbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgICYuY2Fyb3VzZWwtcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENNUyBTdWJzaWRpYXJ5IE1vZHVsZSAtLS0tLSBcclxuLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSB7XHJcbiAgICAuc2VyaWVzLWNhcmQge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBEb250IGRvIHRoaXMgdXNlIGdyaWQtbWFyZ2luLXkgaW5zdGVhZC5cclxuICAgICAgICAvLyBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLXBhZGRpbmc7XHJcbiAgICAgICAgYm9yZGVyOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1ib3JkZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3ItaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLXN1YnNpZGlhcnktbGV2ZWwtMi1hbmNob3Itc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgXHJcbn1cclxuXHJcbi8vIC0tLS0tIEVCRyBJbmZvcmFtYXRpb24gLS0tLS1cclxuLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIC5ncm91cC1mdWxsLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5ncm91cC1ub3RlcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdyb3VwLWltYWdlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkaW5nIE1vZHVsZSAtLS0tLSBcclxuLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1wYWdlLWhlYWRpbmctbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgaDEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgbWFyZ2luLWJvdHRvbSB0byBhbGxvdyBmb3Igcm93ICsgbW9kdWxlIHNwYWNpbmcgdG8gY29udHJvbCB0aGUgZ2FwLlxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIERlYnVnIGRpc3BsYXlzIC0tLS0tIFxyXG4vLyAtLS0gTW9kdWxlIGNvbmZpZyAtLS0gXHJcbi5tb2R1bGUtY29uZmlnIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIGxpLCBzdHJvbmcsIGgzIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIGxpLCBzdHJvbmcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJzonO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIEFwcGx5IG1vZHVsZSBlZmZlY3Qgc3R5bGVzLCB0aGVzZSBzaG91bGQgYmUgb3B0aW9uYWwgYW5kIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHN0eWxlcyAoIGFib3ZlICkuXHJcbi8vIENvbW1vbiBlZmZlY3QgdmFyaWFibGVzIHNoYXJlZCBhY3Jvc3MgYWxsIG1vZHVsZXMuXHJcbi5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gQ29tbW9uIHN0eWxlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyBhbGwgZWZmZWN0LnNcclxuICAgICYuZWZmZWN0LXN0eWxlIHtcclxuICAgICAgICAvLyAtLS0tLSBTdHlsZSBvdmVycmlkZXMgLS0tLS1cclxuICAgICAgICAvLyBGb3IgY29sb3VyIG9wdGlvbnMgcGxlYXNlIHJlZmVyIHRvIGdsb2JhbCBDU1MgdmFyaWFibGVzLCB0aGVzZSBhcmUgZGVmaW5lZCBpbiB0aGUgZ2xvYmFsIGFwcC5zY3NzLlxyXG5cclxuICAgICAgICAvLyAtLS0gQm9yZGVyIE9wdGlvbnMgLS0tXHJcbiAgICAgICAgLy8gUmFkaXVzLlxyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy1zbWFsbDogMXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy1tZWRpdW06IDVweDtcclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMtbGFyZ2U6IDI1JTtcclxuICAgICAgICAtLWJvcmRlci1yYWRpdXMteGxhcmdlOiA1MCU7XHJcblxyXG4gICAgICAgIC8vIFdpZHRoIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vY3NzcmVmL3ByX2JvcmRlci13aWR0aC5waHAuXHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtdGhpbjogMXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXdpZHRoLWxpZ2h0OiAycHg7XHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtbWVkaXVtOiA1cHg7XHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtYm9sZDogMTBweDtcclxuXHJcbiAgICAgICAgLy8gLS0tIEltYWdlIFNjYWxpbmcgLS0tXHJcbiAgICAgICAgLy8gUmVkdWNlXHJcbiAgICAgICAgLS1pbWFnZS1yZWR1Y2Utc21hbGw6IC45NTtcclxuICAgICAgICAtLWltYWdlLXJlZHVjZS1tZWRpdW06IC44MDtcclxuICAgICAgICAtLWltYWdlLXJlZHVjZS1sYXJnZTogLjYwO1xyXG5cclxuXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gVGhpcyBtYXkgbmVlZCByZWZpbmluZyBsYXRlciBvbiB0byBzcGVjaWZpYyBwcm9wZXJ0aWVzLlxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29sbGVjdGlvbiAoIEdyaWQgJiBDYXJvdXNlbHMgKSBzcGVjaWZpYyBlZmZlY3RzLlxyXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgLy8gRWZmZWN0IFN0eWxlcyAoIHNwZWNpYWwgZWZmZWN0cyBvbiB0aGluZ3MgbGlrZSBpbWFnZXMgYm9yZGVyLCBib3gtc2hhZG93cyApXHJcbiAgICAmLmltYWdlLWJvcmRlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLXJhZGl1cy1hbmltYXRpb24ge1xyXG4gICAgICAgIC8vIEZhbGxiYWNrIHJhZGl1cy5cclxuICAgICAgICAkcmFkaXVzLWZhbGxiYWNrOiA1MCU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlLCAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICRjb2xvdXIxKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIC8vIEFkZCBpbnNldCBzaGFkb3cuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbHRlcmFudGl2ZSBtYXJrdXAgKCBhcyBpbWFnZSBtb2R1bGVzIG1hcmt1cCBpcyBkaWZmZXJlbnQgdG8gcHJvZHVjdCApXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJbnZlcnQgY2VsbCBzaGFkb3cgc2hvd3MgdGhlIGJveC1zaGFkb3cgYXMgZGVmYXVsdCBpbnN0ZWFkIG9mIG9uIGhvdmVyLCB0aGlzIGVzc2VudGlhbGx5IGRvZXMgJGNvbGxlY3Rpb24tY2VsbC1ib3gtc2hhZG93LWludmVydCBvbiBhIG1vZHVsZSBsZXZlbCBpbnN0ZWFkIG9mIGEgZ2xvYmFsIGxldmVsLlxyXG4gICAgJi5pbnZlcnQtY2VsbC1zaGFkb3cge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yY2Ugb3BhY2l0eS5cclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlZHVjZXMgdGhlIGltYWdlIHdoZW4gdGhlIGNvbnRlbnQgY29udGFpbmVyIGlzIGhvdmVyZWQuXHJcbiAgICAmLnJlZHVjZS1pbWFnZS1ob3ZlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSBib3gtc2hhZG93IG9uIGNlbGwuXHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmltYWdlOmhvdmVyLCAmOmhvdmVyIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSBvcGFjaXR5IDEuXHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLXJlZHVjZS1pbWFnZSwgLjk1KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZywgLmltYWdlIGltZyB7XHJcbiAgICAgICAgICAgIC8vIElmIHNtb290aCBlZGdlcyBlbmFibGVkIHRoZW4gZW5zdXJlIHRoZSBpbWFnZSBoYXMgcm91bmRlZCBjb3JuZXJzLCB0aGlzIGFsc28gbmVlZHMgdG8gaW5jbHVkZSBoaWdobGlnaHQgaXRlbSBvdmVybGF5cyBhcyB3ZWxsLlxyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5jZWxsLWJvcmRlci1kZWZhdWx0IHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYm94LXNoYWRvdy1kZWZhdWx0LWhvdmVyLXN0YXRlcyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJi5tb2R1bGUtYm9yZGVycyB7XHJcbiAgICAgICAgJHBhZGRpbmc6IChcclxuICAgICAgICAgICAgc21hbGw6IDIwcHgsXHJcbiAgICAgICAgICAgIGxhcmdlOiA4MHB4XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgcGFkZGluZzogI3tzbWFsbC12YWx1ZSgkcGFkZGluZyl9IDAgMDtcclxuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXRvcCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtcmlnaHQge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtYm90dG9tIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS1sZWZ0IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNtYWxsLXZhbHVlKCRwYWRkaW5nKTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzbWFsbC12YWx1ZSgkcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwYWRkaW5nKSAjeyhsYXJnZS12YWx1ZSgkcGFkZGluZykgKyAyMCl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQW5pbWF0aW9ucyBIVE1MNSBDYW52YXMgLS0tLS1cclxuLmFuaW1hdGlvbi1tb2R1bGUge1xyXG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvfTtcclxuICAgIFtkYXRhLWFuaW1hdGlvbl0ge1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvKTtcclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvKlxyXG4tLS0tLSBTdG9jayBJbmRpY2lhdG9yKHMpIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gSW5zdG9jaywgT3V0IG9mIHN0b2NrICYgTG93IHN0b2NrIGljb25zLlxyXG4tIEVtYWlsIHdoZW4gYmFjayBpbiBzdG9ja1xyXG4qL1xyXG5cclxuLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgQGlmICgkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGUgIT0gXCJub3JtYWxcIikge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9ja0xldmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vU2hhcmVkIHN0eWxlcy5cclxuICAgICAgICAmLnNvaC0yLCAmLnNvaC0xLCAmLnNvaC0wIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCwgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICAgICAgPiBwLCBwLCAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2staW5kaWNhdG9yLXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc3RvY2staW5kaWNhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3RvY2staW5kaWNhdG9yLWljb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzdG9jay1pbmRpY2F0b3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTaGFyZWQgc3R5bGVzICggcmVnYXJkbGVzcyBvZiBwcmVzZXRzICkuXHJcbiAgICAmLnNvaC0yLCAmLnNvaC0xLCAmLnNvaC0wIHtcclxuICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgID4gcCwgcCwgLmxhYmVsIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiAkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTdG9jayBsZXZlayBzcGVjaWZpYyBzdHlsZXMgLS0tXHJcbiAgICAvLyBIaWdoIHN0b2NrXHJcbiAgICAmLnNvaC0yIHtcclxuICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgID4gcDpiZWZvcmUsIC5sYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2gtMik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTItaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZSwgc29oLTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMi1pY29uLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBMb3cgc3RvY2tcclxuICAgICYuc29oLTEge1xyXG4gICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgPiBwOmJlZm9yZSwgLmxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvaC0xKTtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMS1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplLCBzb2gtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0xLWljb24tY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2tMZXZlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTEtbGV2ZWwtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE5vIHN0b2NrXHJcbiAgICAmLnNvaC0wIHtcclxuICAgICAgICA+IHA6YmVmb3JlLCAubGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29oLTApO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0wLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0b2NrLWluZGljYXRvci1pY29uLXNpemUsIHNvaC0wKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrTGV2ZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0wLWxldmVsLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gU3RvY2sgTm90aWZpY2F0aW9ucyAtLS0gXHJcbiAgICAmLm5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3RvY2stbm90aWZpY2F0aW9uLWljb24pO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29oLW5vdGlmaWNhdGlvbi1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNvaC1ub3RpZmljYXRpb24tc3RhdHVzLWljb24tc2l6ZTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3RvY2stbm90aWZpY2F0aW9uLWFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gV2hlbiB0aGUgbm90aWZpY2F0aW9uIGhhZCBwcmV2aW91c2x5IGJlZW4gZW5hYmxlZC5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlcntcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFtkYXRhLXRvb2x0aXBdIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29sbGVjdGlvbi1vbmx5LWluZGljYXRvciB7XHJcbiAgICBjb2xvcjogJHN0b2NrLWluZGljYXRvci1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2staW5kaWNhdG9yLXdlaWdodDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb2xsZWN0aW9uLW9ubHkpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBmb250LXNpemU6ICRzb2gtY29sbGVjdGlvbi1vbmx5LWljb24tc2l6ZTtcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzb2gtY29sbGVjdGlvbi1vbmx5LWN1c3RvbS1pY29uKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vLy0tLSBTdG9jayBub3RpZmljYXRpb24gZGV0YWlscyBwcm9tcHQgLS0tIFxyXG4jc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3Mgc3R5bGluZyBqdXN0IGluIG1vYmlsZS5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICB0b3A6IDEwdnchaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNtc0NvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcclxuICAgIG1heC13aWR0aDogODV2dztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzMHZ3O1xyXG4gICAgfVxyXG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0IHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0KTtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiA0NXB4O1xyXG4gICAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkY29sb3VyMyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLXN0b2NrLWluZGljYXRvci11cGRhdGVdIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn0iLCIvLy0tLS0tIFByb2R1Y3QgcGFnZSAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIpOyAgICBcclxuICAgIC8vIFdvcmtvdXQgaGFsZiBvZiBndXR0ZXIuXHJcbiAgICAkZW5xdWlyeS1ndXR0ZXI6IChzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyLCAyLCBtZWRpdW0pIC8gMik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdyaWQtYXV0by1jb2x1bW5zOiBhdXRvO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KGNhbGMoMzAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KSwgMWZyKSBtaW5tYXgoY2FsYyg3MCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pLCAxZnIpO1xyXG4gICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MCUgcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoNTAwcHgsIDYwJSkpO1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyKTtcclxuICAgICAgICAvLyBUaGlzIGlzIHB1dCBpbiBwbGFjZSBzbyB0aGF0IHN0aWNreSBpbWFnZSBkb2Vzbid0IG92ZXJsYXAgb250byB0aGUgdGFicyBhcmVhLCB5ZXMgaXRzIGEgaGFjayBidXQgd2l0aG91dCByZWRlc2lnbmluZyB0aGUgc3RpY2t5IG1lY2hhbmlzbSA4NDM0NzMgdGhlcmUgaXMgbGl0dGxlIHdlIGNhbiBkby5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg1MCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pIGNhbGMoNTAlIC0gI3skZW5xdWlyeS1ndXR0ZXJ9KTtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIC8vIERlZmluaW5nIHRoZSBncmlkIHRoYXQgZ2V0cyB1c2VkIGZvciB0aGUgYnVsayBvZiB0aGUgZGV0YWlscy5cclxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgaW5zaWRlIG9mIHByb2R1Y3QgZW5xdWlyeSBkZXRhaWxzIHRoZW4gZG9uJ3QgZ3JvdyBvdGhlcndpc2UgdGhpcyBjb3VsZCBwdXNoIGNvbnRlbnQgZG93biB3aGVuIG1hdGNoaW5nIHRoZSBoZWlnaHQgb2YgdGhlIG1lZGlhIGNvbnRlbnQgY29udGFpbmVyIGUuZyBpZiB0aGUgcmVmZXJlbmNlcyBpcyB1bmRlciB0aGUgY2FsbGJhY2sgY29udGFpbmVyIHRoZSByZWZlcmVuY2VzIHdpbGwgYmUgcHVzaGVkIGRvd24gY2F1c2luZyBhIGxhcmdlIGdhcC5cclxuICAgICAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoaXMgbW9kdWxlIGRvZXMgbm90IGNvbnRhaW5lciBhbnkgY2hpbGRyZW4gdGhlbiBkaXNwbGF5OiBub25lOyBvdGhlcndpc2UgdGhlIGdyaWQgZ2FwIGlzIHN0aWxsIHJlcHJlc2VudGVkLlxyXG4gICAgICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaHIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHN0eWxpbmcgZm9yIHRoaXMgc3BlY2lmaWMgdG8gdGhpcyBhcmVhLlxyXG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAuc2hhcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQYWdlIEhlYWRpbmcgLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFByb2R1Y3Qgc2VsZWN0aW9uIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtbW9kdWxlLWd1dHRlcik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBRdWFudGl0eSBzZWxlY3Rpb24gLS0tXHJcbi5xdWFudGl0eS1tb2R1bGUsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3Ige1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHF1YW50aXR5LXNlbGVjdG9yLWxhYmVsKCk7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcblxyXG4jbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgLy8gLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgLy8gICAgICAgICBvcmRlcjogMztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgLnF1YW50aXR5LW1vZHVsZSB7XHJcbiAgICAvLyAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC8vICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLy8gICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAvLyAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgLy8gICAgICAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgLmxhYmVsIHtcclxuICAgIC8vICAgICAgICAgICAgIGhlaWdodDogNDVweDtcclxuICAgIC8vICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gICAgLy8gICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAvLyAgICAgICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAvLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIC8vICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbiNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2UtbWFyZ2luLCBzbWFsbCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy93aWR0aDogJHByb2R1Y3QtaW1hZ2Utd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICAjYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG5cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgLnNsaWRlIHtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQtMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ4LXByZXYsXHJcbiAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ieC1wcmV2IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXNtYWxsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ieC1uZXh0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMjFweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtc21hbGwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjcwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gT2xkIHJ1bGVzLCB0aGVzZSB3aWxsIGV2ZW50dWFsbHkgYmUgc3VwZXJzZWRlZCBieSB0aGUgbmV3IHByb2R1Y3QgZW5xdWlyeSBydWxlcyAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgODIzOTQzXHJcbiNtYWluSW1hZ2VDb250YWluZXIge1xyXG4gICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gaGVpZ2h0OiA1NTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25PdXRybztcclxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgLy8gICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3soc3BhY2luZy12YWx1ZSgkcGFnZS1ndXR0ZXIsIDIpICogMil9IC0gI3soc3BhY2luZy12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMsIDIpICogMil9KTtcclxuICAgIC8vICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgLSAjeyhzcGFjaW5nLXZhbHVlKCRwYWdlLWd1dHRlciwgMikgKiAyKX0gLSAjeyhzcGFjaW5nLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycywgMikgKiAyKX0pO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHdpZHRoOiA1NTBweDtcclxuICAgICAgICAvLyBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgLy8gfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLy8gdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgLy8gTW92ZWQgdG8gYXhpcy1saWdodGJveC5zY3NzXHJcbiAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgIC8vICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICAvLyAgICAgcGFkZGluZzogM3B4IDEycHg7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLTM2MCB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2UzNjBPdmVybGF5KCk7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2Uge1xyXG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGVmYXVsdC1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIC8vIER1ZSBub3Qga25vd2luZyB3aGF0IHNpemUgaW1hZ2Ugd2UgY291bGQgZ2V0IHRoZW4gYXNzaWduIGEgbWluIHdpZHRoICYgaGVpZ2h0IHRvIHNjYWxlIHRoZSBpbWFnZSB1cCBzbGlnaHRseSwgZXZlbiB0aG91Z2ggaXQgd2lsbCBiZSBsb3cgcXVhbGl0eSBpdCBpcyBzdGlsbCBiZXR0ZXIgdGhhbiBoYXZpbmcgYSBiYXJlbHkgbm90aWNhYmxlIGltYWdlLCBpZiB1c2luZyB0aGUgbWFnbmlmaWNhdGlvbiBsaWJyYXJ5IHRoZW4gdGhpcyB3aWxsIGJlIHNjYWxlZCBhZ2Fpbi4gV2hlbiBhZGp1c3RpbmcgdGhlc2UgdmFyaWFibGVzIGtlZXAgaW4gbWluZCB3ZSBuZWVkIHRvIHN1cHBvcnQgbWl4ZWQgYXNwZWN0IHJhdGlvIGltYWdlcy5cclxuICAgICAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICB9XHJcbiAgICAmICsgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7XHJcbiAgICAgICAgJjpoYXMoaW1nKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gSGlnaGxpZ2h0ZWQgQmFubmVycyAtLS0tLS1cclxuLy8gVE9ETzogT0xEIFdBWSBPRiBIQU5ETElORyBUSElTIENBTiBCRSBSRU1PVkVEIE9OQ0UgODIzOTQzIENPTVBMRVRFRFxyXG4ucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XHJcbiAgICBtYXJnaW46IDAgMjBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICA+IGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMSBjYWxjKDMzJSAtIDE1cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMTJweDtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbiArIDEpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnByb2R1Y3QtZW5xdWlyeS1oaWdobGlnaHRlZC1iYW5uZXJzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gUmVmZXJlbmNlLCBQYXJ0IENvZGUsIEFsdCBSZWYgLS0tLS0tXHJcbi5wYXJ0LWNvZGUtY29udGFpbmVyIHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIH1cclxufVxyXG4ucGFydC1jb2RlLWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWNvZGUtZm9udC1zaXplKTtcclxuICAgIGNvbG9yOiAkY29kZS1jb2xvdXI7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1jb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtY29kZS10ZXh0LXRyYW5mb3JtICE9IG5vbmUpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWNvZGUtdGV4dC10cmFuZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1wYWRkaW5nKTtcclxuICAgIGdhcDogMTBweCAyNXB4O1xyXG4gICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBMYWJlbCArIFZhbHVlIFBhaXIgLS0tLS0tXHJcbi8vIEdlbmVyaWMgY29udGFpbmVyIHVzZWQgdG8gZGlzcGxheSBzbWFsbCBwaWVjZSdzIG9mIGRhdGEgd2l0aCBhIGxhYmVsIGFzIGEgcHJlZml4LlxyXG4ucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItYWxpZ24taXRlbXM7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItZ2FwKTtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhbHVlIHtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBidXR0b24sIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1hbGlnbi1pdGVtcztcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3Qge1xyXG4gICAgI3Byb2R1Y3QtaW5mby1sZWZ0IHtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW1haW4taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIC8vUmVtb3ZlIHF1YW50aXR5IHNlbGVjdG9yIGxhYmVsIGZvciBzbGlkZXIuXHJcbiAgICAuc2xpZGUgLmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5hZGRCdXR0b25Db250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIG9yZGVyOiA0O1xyXG4gICAgfVxyXG5cclxuICAgICNwcm9kdWN0LW5vdGVzIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXNpemUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSAhPSBub25lKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCwgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW5vdGVzLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3Qtbm90ZXMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LW5vdGVzLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb2R1Y3QtcmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFiYmVkLXJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1yZWFkLW1vcmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtYWx0LW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1iYXNrZXQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1idXktYnV0dG9uLW1hcmdpbik7XHJcbiAgICBvcmRlcjogNDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1idXktYnV0dG9uLW1hcmdpbik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjI7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XHJcbiAgICAgICAgJiArIC5oYXphcmQtaW5mby1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWljb24ge1xyXG4gICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgJi5oYXotY2F0LXRveGljIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1hY3V0ZS10b3hpY2l0eS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZ2FzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1jb21wcmVzc2VkLWdhcy1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtY29ycm9zaXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1jb3Jyb3NpdmUtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWVudmlyb25tZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1lbnZpcm9ubWVudGFsLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1leHBsb3NpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWV4cGxvc2l2ZS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZmxhbW1hYmxlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1mbGFtbWFibGUtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LW96b25lIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1oYXJtZnVsLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1veGlkaXNpbmcge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLW94aWRpc2luZy1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtaGVhbHRoIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRzaGFyZWQtaWNvbnMtaGF6YXJkLXN0YXRlbWVudHMtZGlyZWN0b3J5ICsgJ2hhemFyZC1zZXJpb3VzLWhlYWx0aC1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oYXphcmQtaW5mby1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1oYXphcmQtc3RhdGVtZW50LWhhYWRpbmctdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGFhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKG51bGwsIG51bGwsICRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEdlbmVyaWMgbXVsdGktbGluZSBjb250YWluZXIgLS0tLS1cclxuLy8gVXNlZCBmb3IgaW5mb3JtYXRpb24gc3VjaCBhcyBub3RlcyAmIHNwZWNpZmljYXRpb25zLlxyXG4ucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLm11bHRpLWxpbmUtaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1tYXJnaW47XHJcbiAgICAgICAgaDIsIGgzLCBoNCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtICE9IG5vbmUpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tdWx0aS1saW5lLWNvbnRlbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgIHVsLCBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJvZHVjdC1ub3RlcyB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtbm90ZXMtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLW5vdGVzLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFkZGluZzogMCAwICN7JHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmd9O1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICN7JHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmd9O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgJjpub3QoOmhhcygucmVhZC1tb3JlLWNvbnRlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgLy8gVGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdGhlIEphdmFTY3JpcHQgb25jZSBpbml0aWFsaXNlZC5cclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gU3BlY2lmaWNhdGlvbiAgKCBidWxsZXQgbGlzdCApIC0tLVxyXG4jc3BsaXQtc3BlY2lmaWNhdGlvbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgIH1cclxuICAgIGxpLCBwLCBhLCBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJHNwZWNpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNwZWNpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzcGVjaWZpY2F0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbi5zcGxpdC1zcGVjaWZpY2F0aW9uIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMDsgIFxyXG59XHJcblxyXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG9yZGVyOiAyO1xyXG4gICAgfVxyXG4gICAgLy8gQGluY2x1ZGUgcHJpY2UoKTtcclxuICAgIC5wcmljZXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAqKiBEbyBub3Qgc2V0IHdpZHRoIG90aGVyd2lzZSB0aGlzIHdpbGwgY2F1c2Ugc3RvY2tsaW5lIHByaWNlIHRvIHByZS1tYXR1cmVseSB3cmFwLCByZXZlcnNpbmcgdGhpcyBjaGFuZ2UgZm9yIHdob2xlc2FsZSBhcyB0aGVpciBvdmVyYWwgcHJpY2Ugc3R5bGluZyBpcyBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byBvdGhlciBleHByZXNzIHNpdGVzLlxyXG4gICAgICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1jb2x1bW4td2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHByb2R1Y3QtcHJpY2UtY29sdW1uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFByaWNlcyBvcmRlcmluZy5cclxuICAgIC5ycnAge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2stcHJpY2Uge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5wYWNrLXNpemUge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhY2staXRlbS1wcmljZSB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2F2aW5nIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZSB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAgICAgICAmICsgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtaW5kaXZpZHVhbC1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4ub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmc7XHJcbiAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1zcGFjaW5nO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAvLyBVc2UgdGhlIG9sZCBzdHlsaW5nIHByZS1wcm9kdWN0IHBhZ2UgcmVmYWN0b3IuXHJcbiAgICAgICAgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHtcclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIC8vICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0aC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZ2FwOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktb3B0aW9uYWwtZXh0cmFzLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNvZGUtY29sIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIC5pbWFnZS1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmludHJvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCA1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaChudWxsLCBudWxsLCAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBGYXZvdXJpdGVzIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktZmF2b3VyaXRlcy1jb250YWluZXIge1xyXG4gICAgLmZhdm91cml0ZXMge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0gUXVhbnRpdHkgUHJpY2UgQnJlYWsgTW9kdWxlIC0tLS0tLVxyXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAvL3dpZHRoOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICB9XHJcbiAgICAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1xdWFudGl0eS1wcmNpZS1icmVhay1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1ib3JkZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1zYXZlLWFtb3VudC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtbWFyZ2luO1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHBhZGRpbmcgdG8gYnJpbmcgaGVhZGluZyB0ZXh0IGluIGNsb3NlciBhcyBpdCB3YXMgbG9va2luZyBhIGJpdCBkaXMtam9pbnRlZCB3aXRoIHRoZSB0YWJsZSBjb250ZW50ICggdGhpcyBpcyBzdHlsZWQgY29tcGxldGVseSBkaWZmZXJlbnQgZm9yIGVncGwgKS5cclxuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtdGgtcGFkZGluZztcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIHRhYmxlIHByZXNldC0xIGNvbG91ci5cclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1zdXBwcmVzcy1oZWFkZXItZ2FwKSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAmLnNhdmluZ3MtY29sIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstc2F2aW5nLWNvbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktY29sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlLXBlci1pdGVtLWNvbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zYXZpbmdzLWNvbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwIDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBQcm9kdWN0IGVucXVpcnkgcHJpY2luZyAtLS0gXHJcbi8vIFNpbmdsZSBpdGVtXHJcbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xyXG4gICAgLS1wcmljZS1tYXgtd2lkdGg6ICN7c21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWF4LXdpZHRoKX07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAje21lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGgpfTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAtLXByaWNlLW1heC13aWR0aDogI3tsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGgpfTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RvY2tsaW5lcyAvIEdyb3VwXHJcbi5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XHJcbiAgICAvLyBCZWNhdXNlIHRoZXJlIGlzIHN1Y2ggdmFyaWF0aW9uIGluIHByaWNpbmcgZ29pbmcgd2l0aCBhIG1vcmUgZnJlZS1mb3JtIGFwcHJvYWNoLlxyXG4gICAgLS1wcmljZS1tYXgtd2lkdGg6IDFmcjtcclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XHJcbiAgICAucHJpY2VzIC5wcmljZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgLnByaWNlcyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXApO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpfSwgdmFyKC0tcHJpY2UtbWF4LXdpZHRoKSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICRndXR0ZXJzOiAoc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyKSAvIDIpO1xyXG4gICAgICAgICAgICAvLyBTZXQgMTkwcHggYXMgbWluIHNpemUgdG8gYWxsb3cgZm9yIDIgY29sdW1uIHRhYmxldCB2aWV3LlxyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7bWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCl9LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAjeyRndXR0ZXJzfSkpKTtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgJGd1dHRlcnM6IChzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAvLyBTZXQgMTkwcHggYXMgbWluIHNpemUgdG8gYWxsb3cgZm9yIDIgY29sdW1uIHRhYmxldCB2aWV3LlxyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7bGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKX0sIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtICN7JGd1dHRlcnN9KSkpO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtZ3JvdXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAvLyBJZiB0aGlzIG1vZHVsZSBkb2VzIG5vdCBjb250YWluZXIgYW55IGNoaWxkcmVuIHRoZW4gZGlzcGxheTogbm9uZTsgb3RoZXJ3aXNlIHRoZSBnYXAgKyBzZXBlcmF0b3IgaXMgc3RpbGwgc2hvd24sIDplbXB0eSBkb2Vzbid0IHdvcmsgaGVyZSBhcyB0aGF0IGRvZXNuJ3QgaW5jbHVkZSB3aGl0ZXNwYWNlLlxyXG4gICAgICAgICAgICAmOm5vdCg6aGFzKCopKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aGFzKCArIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoI3tzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDEpfSAvIDIgKiAtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkbGFyZ2VyLW1vYmlsZS1icmVha3BvaW50OiAoc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKSAqIDIpICsgc3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyKSArICRncmlkLWNvbnRhaW5lci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAvLyBCZXNwb2tlIGJyZWFrcG9pbnQgYXMgdGhpcyBydWxlIGNoYW5nZXMgbWlkIG1vYmlsZSBicmVha3BvaW50IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsYXJnZXItbW9iaWxlLWJyZWFrcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICY6aGFzKCArIC5wcmljZS1ncm91cC1jb250YWluZXIgPiAqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogY2FsYygje3NwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMiwgbWVkaXVtKX0gLyAyICogLTEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICYucnJwLCAmLnNhdmluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5ycnAgKyAuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYucHJpY2UsICYuZ3JvdXAtcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJlIGluY29uc2lzdGVudCB3aXRoIG90aGVyIHByaWNpbmcgYW5kIGFsbG93IHRoZSB2YWx1ZSB0byBhbGlnbiB0byB0aGUgbGVmdCBkdWUgdG8gdGhlIGZvbnQtc2l6ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtaW5kaXZpZHVhbC1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnZhdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0LWNhc2UtcHJpY2luZyB7XHJcbiAgICAuY2FzZS1wcmljZSB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWNhc2UtcHJpY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBAaW5jbHVkZSBwcmljZSgpO1xyXG4gICAgLnByaWNlIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGVsaXZlcnktY291bnRkb3duLWNvbnRhaW5lciBbZGF0YS1jb3VudGRvd24tdGltZV0ge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4jYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgeyBcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICYuYWN0aXZlICB7XHJcbiAgICAgICAgICAgIC50aHVtYm5haWwgYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWFjdGl2ZS1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlciwgYWN0aXZlLWNsaWNrKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJi5pbWFnZS0zNjAge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaW1hZ2UzNjBPdmVybGF5KDgwJSwgNTVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi52aWRlby10aHVtYm5haWwgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICA+IGxpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRwcm9kdWN0LWdyb3VwZWQtc2Vjb25kLWl0ZW0tYm9yZGVyLXRvcDtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1ncm91cGVkLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS13aWR0aDtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSwgPiBzcGFuLCA+IHAsID4gZGl2IHsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSwgc3BhbiB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkcHJvZHVjdC1ncm91cGVkLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIHtcclxuICAgIC5hZGRpdGlvbmFsLWltYWdlLXgge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRtb2R1bGVzLWdyaWQtZ3V0dGVyLCBzbWFsbCkgLyAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgc21hbGwpICAvIDIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBtZWRpdW0pIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIG1lZGl1bSkgIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBsYXJnZSkgIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRodW1ibmFpbCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBtZWRpdW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBNb2JpbGUgbGF5b3V0LlxyXG4gICAgLnNtYWxsLXVwLTEge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtMiB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC0zIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTQge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDQsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtNSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFRhYmxldCBsYXlvdXQuXHJcbiAgICAubWVkaXVtLXVwLTEge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAxLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC0yIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtMyB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTQge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA0LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC01IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIERlc2t0b3AgbGF5b3V0LlxyXG4gICAgLmxhcmdlLXVwLTEge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtMiB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMiwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC0zIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAzLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTQge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDQsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtNSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFN0b2NrIGxpbmVzIC0tLS0tIFxyXG4uc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtZ2FwKTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbCB7XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkc3RvY2tsaW5lLWF0dHJpYnV0ZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzdG9ja2xpbmUtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyLCB1bmF2YWlsYWJsZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdG9ja2xpbmUtb3B0aW9uLWNvbG91ciwgdW5hdmFpbGFibGUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwsIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgIGNvbG9yOiAkc3RvY2tsaW5lLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9ja2xpbmUtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHN0b2NrbGluZS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0cmlidXRlLWRpc3BsYXkge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lci13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdXBwcmVzc2luZyBhcyB0aGlzIGdldHMgY2FsbGVkIGluIEBjbXMtbGlzdHMgd2hpY2ggZ2V0cyBjYWxsZWQgaW4gdGhlIGFjY29yZGlvbi10YWJzIHN0eWxlcy5cclxuLy8gLnRhYmJlZC1ub3Rlcy1jb250YWluZXIsIC50YWJiZWQtY21zLWVudHJ5IHtcclxuLy8gICAgIHVsIHtcclxuLy8gICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG4jcHJvZHVjdC1pbmZvLWxlZnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgI3Byb2R1Y3Qtc3BlY2lmaWNhdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFydC1jb2RlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXJ0LWNvZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFRhYnMgLyBBY2NvcmRpb24gYXJlYSAtLS1cclxuLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAzNXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBjZW50ZXJcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBQcmV2aW91c2x5IHB1cmNoYXNlZCAtLS0gXHJcbi5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtanVzdGlmeS1jb250ZW50KTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLW1hcmdpbik7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgIGJvcmRlcjogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJvcmRlci1jb2xvdXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1iYWNrZ3JvdW5kO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIG1hcmdpbjogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemUpKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQpID09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlldy1vcmRlci1saW5rIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTQsIDApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtdmlldy1vcmRlci1idXR0b24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy9tYXJnaW46IDAgMCAwICgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1pdGVtLXNwYWNpbmcgKiAyLjEpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5jdXN0b20tc3RvY2stdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAvLyBCYXNpY2FsbHkgdGhpcyBpcyBhIGhlYWRpbmcgcm93LlxyXG4gICAgICAgICAgICAmW2NvbHNwYW49XCIyXCJdIHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDA7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRtZ2M6IHJlbS1jYWxjKCRtZyk7XG4gICAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICAgJG1nYzogMHJlbTtcbiAgICAgIH1cbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ30pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJG1nYzogcmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpO1xuICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgJG1nYzogMHJlbTtcbiAgICB9XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWdjfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vLS0tLS0gQmFza2V0IC0tLS0tIFxyXG4vLyBUT0RPOiBUaGlzIGNvdWxkIGRvIHdpdGggYmVpbmcgcmVtb3ZlZCBhdCBzb21lIHBvaW50LlxyXG4kYmFza2V0SGVhZEJvcmRlckNvbG91cjogJGNvbG91cjMtMztcclxuJGJhc2tldEJvZHlGb250U2l6ZTogMTRweDtcclxuJGJhc2tldEJvZHlEZXNjcmlwdGlvbkZvbnRTaXplOiAkYmFza2V0Qm9keUZvbnRTaXplO1xyXG4kYmFza2V0Qm9keVF1YW50aXR5Rm9udFNpemU6ICRiYXNrZXRCb2R5Rm9udFNpemU7XHJcbiRiYXNrZXRCb2R5U3ViVG90YWxGb250U2l6ZTogJGJhc2tldEJvZHlGb250U2l6ZTtcclxuJGJhc2tldEJvZHlDb2xvdXI6ICRjb2xvdXIzLTM7XHJcbiRiYXNrZXRCb2R5Q29kZUNvbG91cjogJGJhc2tldEJvZHlDb2xvdXI7XHJcbiRiYXNrZXRCb2R5UXVhbnRpeUNvbG91cjogJGJhc2tldEJvZHlDb2xvdXI7XHJcbiRiYXNrZXRCb2R5UmVtb3ZlQ29sb3VyOiAkY29sb3VyMy0zO1xyXG5cclxuI2Jhc2tldC1mb3JtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgIH1cclxufVxyXG5cclxuI2Jhc2tldC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgIH1cclxufVxyXG5cclxuI2Jhc2tldC10YWJsZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBAaW5jbHVkZSBvcmRlci10YWJsZSgpO1xyXG4gICAgLy8gU3VwcHJlc3MgbW9iaWxlIGxhYmVscyBhcyB0aGV5J3JlIG5vdCByZWFsbHkgcmVxdWlyZWQuXHJcbiAgICAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCwgLmJhc2tldC1jb2RlLWNvbCwgLmJhc2tldC1zdWItdG90YWwtY29sIHtcclxuICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMzBweDtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCguaW1hZ2UtY29sKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgIGdyaWQtcm93OiBzcGFuIDQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIuMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvL3dpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRib2R5LWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0Ym9keS1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvZGUtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgIGdyaWQtcm93OiA0O1xyXG4gICAgfVxyXG4gICAgLmFkZC1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIGdyaWQtcm93OiA1O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4LjklO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGRUb0Jhc2tldC5pY29uLCAuYmFza2V0LWFkZC1idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEJhc2tldCB0YWJsZSBzdHlsZXMuXHJcbi8vIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yLlxyXG50YWJsZS5iYXNrZXQtdGFibGUsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUge1xyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAuY29sLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgcnVsZSBzZXQgYnkgI2Jhc2tldC10YWJsZSBhcyBuZXcgZGVzaWduIDgyMTIyOSBjYWxsJ3MgZm9yIGxhYmVscy5cclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEltcGxlbWVudGluZyBhIG5lc3RlZCBncmlkLCB0aGlzIGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3RvciBhcyB0aGUgaW1hZ2Ugc2hvdWxkIGhhdmUgaXRzIG93biBjb2x1bW4uXHJcbiAgICB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVGhpcyBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IgYXMgdGhlIGdyaWQgd2lsbCBkaWN0YXRlIHRoZSBzaXplIG9mIHRoZSB0aW1lIGltYWdlLlxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIG5lZWQgdG8gZml0IHRoZSBpbWFnZSBleGFjdGx5IGR1ZSB0byBhcHBseWluZyBhIHdoaXRlIGJhY2tncm91bmQgZm9yIHBuZyBpbWFnZXMuXHJcbiAgICAgICAgICAgIC8vIEhhY2t5IGJ1dCBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IuXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxNzVweDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xyXG4gICAgICAgICAgICBnYXA6ICRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgICAgICAuc3RvY2staW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtY29kZS1jb2wsIC5iYXNrZXQtcHJpY2UtY29sLCAuYmFza2V0LXF1YW50aXR5LCAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtY29kZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAmLmFsaWduLXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhdC1yYXRlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1xdWFudGl0eSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogNjtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC5yZW1vdmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2Jhc2tldC1zdGlja3ktc3VtbWFyeS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jYmFza2V0IHtcclxuICAgIC5iYXNrZXQtaXRlbS1yb3cge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIERlbGl2ZXJ5IEFyZWEgU2VsZWN0b3JcclxuICAgICNiYXNrZXQtZGVsaXZlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1tYXJnaW4sIHNtYWxsKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNrZXQtZGVsaXZlcnktYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyOiAkYmFza2V0LWRlbGl2ZXJ5LWJvcmRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1tYXJnaW4sIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtZGVsaXZlcnktaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWRlbGl2ZXJ5KTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFza2V0LWRlbGl2ZXJ5LWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbXMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAmOmhhcyguc2VwZXJhdG9yOm5vdCg6ZW1wdHkpKSB7XHJcbiAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICAmLmludmFsaWQge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjc2FnZXBheS1jaGVja291dC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLXBhZGRpbmcsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWNvbG91ciwgJGNoZWNrb3V0LXNhZ2VwYWdlLWJ1dHRvbi1ib3JkZXItY29sb3VyLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC1zaXplLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC13ZWlnaHQsICh3aWR0aDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApKVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gI2NvbnRpbnVlLXNob3BwaW5nLWJ1dHR0b24ge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAyMzBweDtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1pdGVtIHtcclxuICAgICYgKyAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIHtcclxuICAgICYudm91Y2hlciB7XHJcbiAgICAgICAgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXZvdWNoZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudmF0IHtcclxuICAgICAgICBsYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtdmF0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAkYmFza2V0LXN1bW1hcnktaW5wdXQtY29udGFpbmVyLW1hcmdpbjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ0LWlucHV0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vLXdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtaW52YWxpZC1jb250YWluZXIgKyAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWlucHV0IHtcclxuICAgICAgICBoZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFydC1pbnB1dC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktc3VibWl0LWFwcGx5LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN1bW1hcnktaW5wdXQtc3VibWl0IHtcclxuICAgICAgICAmLmFwcGx5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEycHgsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtYXBwbHktYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtY29sb3VyLCAoKSwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1mb250LXNpemUsIFwiXCIsICh3aWR0aDogYXV0byksIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlbW92ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMnB4LCAkYmFza2V0LXN1bW1hcnktc3VibWl0LXJlbW92ZS1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1jb2xvdXIsICgpLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWZvbnQtc2l6ZSwgXCJcIiwgKHdpZHRoOiBhdXRvKSwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhbGxvdXQge1xyXG4gICAgICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gU3VtbWFyeSB3YXJuaW5nIGNvbnRhaW5lciAtLS0gXHJcbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyICsgLndhcm5pbmctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuLndhcm5pbmctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiRiYXNrZXQtY29udHJvbHMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMTVweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbik7XHJcblxyXG4jYmFza2V0LWNvbnRyb2xzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMzVweDtcclxuICAgIGdhcDogc3BhY2luZy12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCwgMSkgMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgNTBweDtcclxuICAgICAgICBnYXA6IHNwYWNpbmctdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXAsIDEsIGxhcmdlKSAwO1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVwZGF0ZS1iYXNrZXQge1xyXG4gICAgICAgICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB1cGRhdGUpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgICAgICAgICAgY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgICAgICAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyKSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgICAgICAgICAgIHNpemU6ICRiYXNrZXQtdXBkYXRlLWljb24tc2l6ZSwgIFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1wYWRkaW5nLCAkYmFza2V0LXVwZGF0ZS1idXR0b24tYmFja2dyb3VuZCwgJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91ciwgKCksICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1mb250LXNpemUsICRiYXNrZXQtY29udHJvbHMtZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5lbXB0eS1iYXNrZXQge1xyXG4gICAgICAgICRiYXNrZXQtZW1wdHktYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgICAgICAgICAgY29sb3VyOiAoXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgICAgICAgICAgICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYmFza2V0LXJtLWFsbC1jb2xvdXIpLFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtcm0tYWxsLWNvbG91cilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gICAgICAgICAgICBzaXplOiAkYmFza2V0LXJlbW92ZS1idXR0b24taWNvbi1zaXplLCAgXHJcbiAgICAgICAgKTtcclxuICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTBweCAzMHB4LCAkYmFza2V0LXJtLWFsbC1iYWNrZ3JvdW5kLCAkYmFza2V0LXJtLWFsbC1jb2xvdXIsICgpLCAkYmFza2V0LXJlbW92ZS1hbGwtZm9udC1zaXplLCAkYmFza2V0LWNvbnRyb2xzLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQsIGhlaWdodDogYXV0bywgbWF4LWhlaWdodDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkYmFza2V0LWVtcHR5LWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWljay1vcmRlci1mb3JtLXByZWZpeC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXNrZXQtdG90YWwtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2tldC10b3RhbC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXRvdGFsLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXRvdGFsLWZvbnQtc2l6ZSk7XHJcbiAgICBAaWYgKCRiYXNrZXQtdG90YWwtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGJhc2tldC10b3RhbC1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFza2V0LXRvdGFsLXN0aWNreS1jb250YWluZXIge1xyXG4gICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0aWNreSBzdHlsZXMuXHJcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdW1tYXJ5LXN0aWNreS1jb250YWluZXIge1xyXG4gICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgc21hbGwpO1xyXG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogJGJhc2tldC1zdW1tYXJ5LXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoJGJhc2tldC1zdW1tYXJ5LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdGlja3kuXHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBzbWFsbCk7XHJcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgIH1cclxuICAgICYuaXMtc3R1Y2sge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAmLmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYW5jaG9yZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgICYuaXMtYXQtdG9wIHtcclxuICAgICAgICAgICAgLy8gSW4gc29tZSBpbnN0YW5jZXMgd2hlbiByZXR1cm5pbmcgdG8gdGhlIGJhc2tldCBmcm9tIGFub3RoZXIgcGFnZSB3aGVuIG9ubHkgb25lIGl0ZW0gaXMgaW4gdGhlIGJhc2tldCB0aGUgc3RpY2t5IHBsdWdpbiB3b3VsZCBhc3NpZ24gdGhlIG1hcmdpbi10b3AgdmFsdWUgZXZlbiB3aGVuIGl0IHNob3VsZCBiZSBhbmNob3JlZCB0byB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgI3ZvdWNoZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RvdGFsLXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgI25ldC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDEyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgICN2b3VjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZ29vZHMtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN0b3RhbC12YWx1ZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG9yZGVyOiA4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjbmV0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjdmF0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAvLyAmOmFmdGVyIHtcclxuICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNlZGl0LWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDExO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaWYgKCRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkYmFza2V0LXN1bW1hcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgIHdvcmQtc3BhY2luZzogJGNvbW1vbi1idXR0b24td29yZC1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWludHJvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VtbWFyeS1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyO1xyXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWhpZ2hsaWdodGVkLWl0ZW0tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAmLnZhbHVlLCAmLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1pdGVtLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbmNWYXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjdG90YWwtdmFsdWUge1xyXG4gICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS10b3RhbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFyeS10b3RhbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDdweCAwIDA7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2RlbGl2ZXJ5LXNlbGVjdG9yIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgc2VsZWN0LCBsYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuZGVsaXZlcnktbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kZWxpdmVyeS1zZXJ2aWNlLCAuZGVsaXZlcnktYXJlYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNDA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlbGl2ZXJ5LXNlcnZpY2Uge1xyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcblxyXG4vLyAtLS0tLSBZb3VyIEFjY291bnQgcGFnZSAtLS0tLVxyXG5cclxuLmxpbmstZmFpbGVkLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLmxpbmstZmFpbGVkLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1tYXJnaW47XHJcbiAgICAgICAgY29sb3I6ICRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIHtcclxuICAgIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAvLyBEZWZhdWx0IGljb24uXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkZWZhdWx0LWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmN1c3RvbWVyLWFzc2V0cywgJi5mdW5jdGlvbi0xIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY3VzdG9tZXItYXNzZXRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJyYW5jaC1zd2l0Y2hlciwgJi5hY2NvdW50LXN3aXRjaGVyLCAmLmZ1bmN0aW9uLTIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBicmFuY2gtc3dpdGNoZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhbGxzLCAmLmZ1bmN0aW9uLTMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtYW5hZ2UtY2FsbHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLWRldGFpbHMsICYuZnVuY3Rpb24tNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNoYW5nZS1kZXRhaWxzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRhY3QtcHJlZmVyZW5jZXMsICYuZnVuY3Rpb24tNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNvbnRhY3QtcHJlZmVyZW5jZXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udHJhY3QtaXRlbXMsICYuZnVuY3Rpb24tNiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNvbnRyYWN0LWl0ZW1zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlcnZpY2UtY29udHJhY3RzLCAmLmZ1bmN0aW9uLTcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzZXJ2aWNlLWNvbnRyYWN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzLCAmLmZ1bmN0aW9uLTgge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgJi5mdW5jdGlvbi05IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBbHNvIHN1cHBvcnQgZm9yIHZlcnNpb24gaWYgbmVlZGVkLCB0aGlzIHdpbGwgYmUgYWRkZWQgdXNpbmcgYW4gYWRkaXRpb25hbCBjbGFzcyAudmVyc2lvbi14LlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9ubGluZS1kb2N1bWVudGF0aW9uLCAmLmZ1bmN0aW9uLTEwLCAmLmZ1bmN0aW9uLTM0IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgb25saW5lLWRvY3VtZW50YXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZhdm91cml0ZXMsICYuZnVuY3Rpb24tMTEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBmYXZvdXJpdGVzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuam9icywgJi5mdW5jdGlvbi0xMiB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ291dCwgJi5mdW5jdGlvbi0xMyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGxvZ291dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgICYubmV3cywgJi5mdW5jdGlvbi0xNCB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnZpZXctb3JkZXJzLCAmLmZ1bmN0aW9uLTE1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgdmlldy1vcmRlcnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1wYXNzd29yZCwgJi5mdW5jdGlvbi0xNiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGNoYW5nZS1wYXNzd29yZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FyZHMsICYuZnVuY3Rpb24tMTcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtYW5hZ2UtY2FyZHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGF5bWVudC1yZXF1ZXN0cywgJi5mdW5jdGlvbi0xOCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHBheW1lbnQtcmVxdWVzdHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG93bmxvYWQtcHJpY2UtbGlzdHMsICYuZnVuY3Rpb24tMTkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkb3dubG9hZC1wcmljZS1saXN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5xdWVzdGlvbm5haXJlcywgJi5mdW5jdGlvbi0yMCB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlY2VudGx5LXB1cmNoYXNlZCwgJi5mdW5jdGlvbi0yMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHJlY2VudGx5LXB1cmNoYXNlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLWxpc3QsICYuZnVuY3Rpb24tMjIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzaXRlLWxpc3QpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXdlYi1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3MsICYuZnVuY3Rpb24tMjMge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGljb24gYmVpbmcgdXNlZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdGF0ZW1lbnQsICYuZnVuY3Rpb24tMjQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBzdGF0ZW1lbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGlzdG9yaWNhbC10cmFuc2FjdGlvbnMsICYuZnVuY3Rpb24tMjUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBoaXN0b3JpY2FsLXRyYW5zYWN0aW9ucyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtYmFza2V0LCAmLmZ1bmN0aW9uLTI2IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYmFza2V0LXVwbG9hZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtb3JkZXJzLCAmLmZ1bmN0aW9uLTI3IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgb3JkZXItdXBsb2FkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS11c2VycywgJi5mdW5jdGlvbi0yOCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1hbmFnZS11c2Vycyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lbXBsb3llZS1zdGF0dXMsICYuZnVuY3Rpb24tMjkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBlbXBsb3llZS1zdGF0dXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlLCAmLmZ1bmN0aW9uLTMwIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBNaWNyb3NvZnQgU3Vic2NyaXB0aW9ucy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTMxIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWljcm9zb2Z0LXN1YnNjcmlwdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZUJyYW5kcztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIENhbGwgU3RhdGlzdGljcy5cclxuICAgICAgICAmLmZ1bmN0aW9uLTMyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY2FsbC1zdGF0aXN0aWNzKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFnZ3JlZ2F0ZWQgQXNzZXRzLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjdXN0b21lci1hc3NldHMpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVmlkZW9zLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJlY2VudCBzb2Z0d2FyZSB1cGRhdGVzLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEhvdyBtdWNoIHNob3VsZCB3ZSBzY2FsZSB0aGUgaWNvbnMgd2hlbiBuZXN0ZWQgaW4gYSBtZW51LlxyXG4kYWNjb3VudC1zZWN0aW9ucy1uZXN0LWljb24tc2l6ZS1zY2FsZTogMS41O1xyXG5cclxuLm1lbnUge1xyXG4gICAgLy8gSWYgaW5zaWRlIG9mIGEgbWVudSB0aGVuIHNjYWxlIGljb25zIGRvd24uXHJcbiAgICAuYWNjb3VudC1tZW51LXNlY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAobWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRlZmF1bHQpIC8gJGFjY291bnQtc2VjdGlvbnMtbmVzdC1pY29uLXNpemUtc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICYuY2hhbmdlLXBhc3N3b3JkLCAmLmZ1bmN0aW9uLTE2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAobWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGNoYW5nZS1wYXNzd29yZCkgLyAkYWNjb3VudC1zZWN0aW9ucy1uZXN0LWljb24tc2l6ZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMzVweCAwIDIwcHg7XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIHtcclxuICAgIC5jZWxsIHtcclxuICAgICAgICAvLyBDYW50IHVzZSBmb3VuZGF0aW9uJ3MgZ3JpZCBhcyB4ICYgeSBndXR0ZXJzIGFyZSBub3QgZXF1YWwgaW4gdGhlIGRlc2lnbi5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFjY291bnQtcGFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAmLnNpdGUtc3R5bGUge1xyXG4gICAgICAgICAgICAvLyBFbmZvcmNlIEJyYW5kaW5nIGZyb20gc2l0ZSBzdHlsZS5cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogI3soJGFjY291bnQtc2VjdGlvbi1pdGVtLXBhZGRpbmcgLSAkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLXdpZHRoKX07XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI3tob3Zlci1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tY29sb3VyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIC8vIFNocmluayB0aGUgZGVzY3JpcHRpb24gdG8gZml0IGluIGF2YWlsYWJsZSBzcGFjZS5cclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tZm9udC13ZWlnaHQsIGFjY291bnQtcGFnZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI3tkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi1jb2xvdXIpfTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRnVuY3Rpb24gc3BlY2lmaWMgcnVsZXMuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1mdW5jdGlvbi12aWRlb3MtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRlZmF1bHQpO1xyXG4gICAgICAgICYuY2hhbmdlLXBhc3N3b3JkLCAmLmZ1bmN0aW9uLTE2IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgY2hhbmdlLXBhc3N3b3JkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtZGV0YWlscywgJi5mdW5jdGlvbi00IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgY2hhbmdlLWRldGFpbHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYXJkcywgJi5mdW5jdGlvbi0xNyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIG1hbmFnZS1jYXJkcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAmLmZ1bmN0aW9uLTkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgJi5mdW5jdGlvbi0zNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nb3V0LCAmLmZ1bmN0aW9uLTI5IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgbG9nb3V0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUge1xyXG4gICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIge1xyXG4gICAgICAgIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhY2NvdW50LXBhZ2UtZ3JpZCB7XHJcbiAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1wYWdlLWl0ZW0tcGFkZGluZztcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LXBhZ2UtaXRlbS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFnZS1pY29uIHtcclxuICAgICAgICAmLmNoYW5nZS1kZXRhaWxzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjaGFuZ2UtZGV0YWlscyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLXBhc3N3b3JkOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjaGFuZ2UtcGFzc3dvcmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRyYWN0LWl0ZW1zOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjb250cmFjdC1pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmF2b3VyaXRlczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZmF2b3VyaXRlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmlldy1vcmRlcnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHZpZXctb3JkZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZWNlbnRseS1wdXJjaGFzZWQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHJlY2VudGx5LXB1cmNoYXNlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhcmRzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBtYW5hZ2UtY2FyZHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0YXRlbWVudDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgc3RhdGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtdXNlcnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG1hbmFnZS11c2Vycyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnJhbmNoLXN3aXRjaGVyOmJlZm9yZSwgJi5hY2NvdW50LXN3aXRjaGVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBicmFuY2gtc3dpdGNoZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbnRhY3QtcHJlZmVyZW5jZXM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNvbnRhY3QtcHJlZmVyZW5jZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBoaXN0b3JpY2FsLXRyYW5zYWN0aW9ucyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLWJhc2tldDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgdXBsb2FkLWJhc2tldCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudXBsb2FkLW9yZGVyczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgdXBsb2FkLW9yZGVyKVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxvZ291dDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbG9nb3V0KTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmLm1hbmFnZS1jYWxsczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbWFuYWdlLWNhbGxzKTtcclxuICAgICAgICB9ICBcclxuICAgICAgICAmLnNlcnZpY2UtY29udHJhY3RzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBzZXJ2aWNlLWNvbnRyYWN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY3VzdG9tZXItYXNzZXRzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBjdXN0b21lci1hc3NldHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBheW1lbnQtcmVxdWVzdHMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgcGF5bWVudC1yZXF1ZXN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG93bmxvYWQtcHJpY2UtbGlzdHMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZG93bmxvYWQtcHJpY2UtbGlzdHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtbGlzdCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkb3dubG9hZC1wcmljZS1saXN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub25saW5lLWRvY3VtZW50YXRpb257XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBvbmxpbmUtZG9jdW1lbnRhdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46ICRhY2NvdW50LXNvcnRpbmctbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgLnNvcnQtb3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOlxyXG4gICAgICAgICAgICBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5icmFuY2gtZmlsdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0OTBweDtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNlbGVjdCwgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGFnaW5hdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLml0ZW0tY291bnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5sYWJlbCwgLnBhZ2luYXRpb25MYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLnNvcnQtYnktZGF5cy1zZWxlY3QgeyBcclxuLy8gICAgIG1pbi13aWR0aDogMTcwcHg7XHJcbi8vIH1cclxuXHJcbi5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDIzNXB4O1xyXG4gICAgfVxyXG4gICAgJi5jZW50ZXItYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gVmlldyBPcmRlciAtLS0tLSBcclxuLm9yZGVyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9IFxyXG4gICAgJiArIC5yZXNwb25zaXZlLXRhYnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFBheXBhbCBjaGVja291dCBjb25maXJtYXRpb24uXHJcbiAgICAmLnBheW1lbnQtY29uZmlybWF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3soc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1ndXR0ZXIpIC8gMil9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICAjb3JkZXItdGFibGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTcwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgI29yZGVyLXRhYmxlIHtcclxuICAgICAgICBAaW5jbHVkZSBvcmRlci10YWJsZSgpO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDI1cHg7XHJcbiAgICB9XHJcbiAgICAjYmFza2V0LXN1bW1hcnkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC8vIFN1cHJlc3NpbmcgYXMgdGhpcyBjYW4gYmUgZG9uZSB1c2luZyBnYXAgc3BhY2luZyBpbiBmbGV4Ym94LlxyXG4gICAgLy8gLm9yZGVyLWRldGFpbHMgKyAub3JkZXItZGVsaXZlcnkge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAjYmFza2V0LXN1bW1hcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4ub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5LCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogNXB4IDA7XHJcbiAgICAvLyBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkdmlldy1vcmRlci1kZXRhaWxzLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR2aWV3LW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLXdpZHRoKTtcclxuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHZpZXctb3JkZXItZGV0YWlscy1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICAmLmlubGluZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAub3JkZXItZGV0YWlsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXRhaWwtaXRlbS1jb250YWluZXIge1xyXG4gICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJywnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGF5ZXItZGV0YWlscyB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmcpXHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmRlci1kZXRhaWwtaGVhZGluZywgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCAwIDVweDtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAjeyRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodH0gc29saWQgI3skaGVhZGluZy1ydWxlLWNvbG91cn07XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgYS5lZGl0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmRldGFpbC1pdGVtLWNvbnRhaW5lciwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgaW5mYXZvdXIgb2YgdGhlIGdhcCBwcm9wZXJ0eS5cclxuICAgIC8vIG1hcmdpbjogNXB4IDA7XHJcbiAgICAvLyBJZiBubyB2YWx1ZSB0aGVuIHN1cHByZXNzIGFsdG9nZXRoZXIuXHJcbiAgICAmOmhhcyg+IHA6ZW1wdHkpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkdmlldy1vcmRlci1kZXRhaWxzLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgLy8gQWxsIGFuY2hvcidzIHNob3VsZCBhcHBlYXIgb24gYSBuZXcgbGluZSBmb3IgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBhZGRyZXNzIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAuY3VycmVudC1wcmljZS1zYXZpbmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJHByaWNlLWRyb3AtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByaWNlLWRyb3AtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWRyb3AtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcmljZS1kcm9wLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMGRkJztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtZHJvcC1hcnJvdy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtZ3V0dGVyKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuICAgIC8vIFN1cHByZXNzaW5nIHdpZHRoIG9uIHRoZSBjb250YWluZXIgaXMgbm90IGFuIG9wdGlvbiBkdWUgdG8gZm91bmRhdGlvbidzIGdyaWQgdXNpbmcgcmVsYXRpdmUgdmFsdWVzIHdoZW4gY2FsY3VsYXRpbmcgY2VsbHMgd2hpY2ggY2F1c2VzIHRoZSBjZWxscyB0byBzaHJpbmsgaWYgdGhlcmUgaXMgbm90IGVub3VnaCBjb250ZW50IHRvIGZpdCBhIHJvdy5cclxuICAgIC5ncmlkLXgge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje3NtYWxsLXZhbHVlKCRncmlkLW1hcmdpbi1ndXR0ZXJzKX0pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAje21lZGl1bS12YWx1ZSgkZ3JpZC1tYXJnaW4tZ3V0dGVycyl9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN1cHByZXNzaW5nIGR1ZSB0byBzdG9wcGluZyB0aGUgaGVpZ2h0IGZyb20gbWF0Y2hpbmcgZ2VuZXJhbCAvIGRlbGl2ZXJ5IGRldGFpbHMgb24gdGhlIHZpZXcgb3JkZXIgLyBjb250cmFjdCBlbnF1aXJ5IHBhZ2VzLlxyXG4vLyAjYmFza2V0LXN1bW1hcnkucmVhZC1vbmx5IHtcclxuLy8gICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xyXG4vLyB9XHJcblxyXG4vLyBSZXF1aXNpdGlvbiBidXR0b25zXHJcbi5yZXF1aXNpdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRGVsaXZlcnkgRW5xdWlyeSAtLS0tLSBcclxuLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIC5jb250YWluZXItcmVmZXJlbmNlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNYW5hZ2UgVXNlcnMgLS0tLS0gXHJcbi51c2Vycy1mb3VuZC1jb3VudCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtZm91bmQtZm9udC1zaXplKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgY29sb3I6ICR1c2Vycy1mb3VuZC1jb3VudC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jdXNlcnMtdGFibGUge1xyXG4gICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLXRib2R5LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51c2Vycy1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR1c2Vycy10Ym9keS1jb250YWN0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkdXNlcnMtdGJvZHktY29udGFjdC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAudXNlcnMtYWNjb3VudC1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXJzLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXJzLWVtYWlsLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2Vycy1kZWxldGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLnVzZXJzLWVtYWlsLWNvbCwgLnVzZXJzLWNvbnRhY3QtY29sIHtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgLy8gfVxyXG4gICAgLnVzZXJzLWRlbGV0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVtb3ZlLXVzZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucmVtb3ZlLXVzZXItYnV0dG9uIHtcclxuICAgIHdpZHRoOiAkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICBoZWlnaHQ6ICRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9ucztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtcmVtb3ZlKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zIC8gMS4xKSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gVmlldyAvIEVkaXQgdXNlciAtLS0gXHJcbi5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0byAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLnByaW1hcnktYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRlcnRpYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiNzZWxlY3QtYnJhbmNoZXMtdGFibGUge1xyXG4gICAgbWF4LXdpZHRoOiAkdXNlcnMtcG9wdXAtdGFibGUtbWF4LXdpZHRoO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJhbmNoLWNvbCB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5icmFuY2gtY29sIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy1wb3B1cC10YWJsZS1icmFuY2gtY29sLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmFsbG93LWxvZ2luLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1hbmFnZSBQYXltZW50IENhcmRzIC0tLS0tIFxyXG4jdG9rZW5zLXRhYmxlLnBheW1lbnQge1xyXG4gICAgLy8gLmNhcmQtc2VsZWN0LWNvbCB7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICAuY2FyZC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuY2FyZC1udW1iZXItY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuXHJcbn1cclxuXHJcbiN0b2tlbnMtdGFibGUsIC50b2tlbnMtdGFibGUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAvLyB9XHJcbiAgICB0ciB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5jYXJkLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1jYXJkLXR5cGUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtZXhwaXJlZCB7XHJcbiAgICAgICAgICAgLmNhcmQtdHlwZS1jb2wsIC5jYXJkLW51bWJlci1jb2wsIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvOyBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmQtdHlwZS1jb2wsIC5jYXJkLW51bWJlci1jb2wsIC5leHBpcmUtZGF0ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOyAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtc2VsZWN0LWNvbCB7XHJcbiAgICAgICAgLnJhZGlvIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdG9rZW5zLXRhYmxlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtZXhwaXJlLWRhdGUtY29sIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRva2Vucy10YWJsZS1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3RlZC1jYXJkIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG4ubm8tdG9rZW5zLWZvdW5kIHtcclxuICAgIG1hcmdpbjogNTBweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTAwcHggMDtcclxuICAgIH1cclxuICAgIC5uby10b2tlbnMtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXltZW50LWNhcmQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2NSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBheW1lbnQtZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogNjB2aDtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxufVxyXG4ubW9kYWwtY29udGFpbmVyW3R5cGU9c2VsZWN0LXBheW1lbnRdIHtcclxuICAgICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4jcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2F2ZS1jYXJkLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5jb250cm9sLmNoZWNrYm94IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwYXltZW50LWZyYW1lIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vLyAtLS0tLSBTdGF0ZW1lbnQgUGFnZSAtLS0tLSBcclxuLnN0YXRlbWVudC1saXN0LWNvbnRhaW5lciwgLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcclxuICAgICYuaW4tYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAyJSAyMHB4IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RhdGVtZW50LWJhbGFuY2UtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRzdGF0ZW1lbnQtYmFsYW5jZS1jb2xvdXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgfVxyXG59XHJcbi5zdW1tYXJ5LWNvbnRhaW5lci5zdGF0ZW1lbnQsIC5zdW1tYXJ5LWNvbnRhaW5lci5hY2NvdW50LXBheW1lbnQtc3VtbWFyeSB7XHJcbiAgICAuc3VtbWFyeS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udHJhbnNhY3Rpb24tdHlwZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy8gLmRpcmVjdC1kZWJpdC1pY29uIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgICAgICAgcmlnaHQ6IDYlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLy8gUHJpbWFyeSB1c2VkIG9uIHRoZSBzdGF0ZW1lbnQgcGFnZS5cclxuLmRpcmVjdC1kZWJpdC1pY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGRpcmVjdC1kZWJpdCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTZXJ2aWNlIENvbnRyYWN0cyAtLS0tLSBcclxudGFibGUuc2VydmljZS1jb250cmFjdHMge1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgIC5icmFuY2gtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2LjIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5uZXh0LWR1ZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZG9jdW1lbnQtcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnlvdXItcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5za3UtcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cmFjdC12YWx1ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cmFjdC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNvbnRyYWN0LXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJhY3QtZ3JvdXAtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5LjglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mcmVxdWVuY3ktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4LjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXltZW50LW1ldGhvZC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXJtaW5hdGlvbi1kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhbGFuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVuZXdhbC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUuNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnR1YnMtcmVuZXctYnV0dG9uIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJpbWFyeS1idXR0b24tcGFkZGluZztcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gT3JkZXIgc3RhdHVzIHRhYmxlIC0tLSBcclxudGFibGUub3JkZXItc3RhdHVzLXRhYmxlLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUge1xyXG4gICAgLml0ZW0tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgLy8gUHV0dGluZyB0aGlzIGluIHRvIGhhbmRsZSBsb25nIHJlZmVyZW5jZXMgaW4gdGhlIGFjY291bnQgYXJlYS5cclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmludm9pY2VzLWNvbCwgLmRlbGl2ZXJpZXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiVcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gRGVsaWJlcnkgRW5xdWlyeSBUYWJsZSAtLS0gXHJcbnRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUge1xyXG4gICAgLml0ZW0tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2Ljk1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTMlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZXhwcmVzcyBkZWZhdWx0IHN0eWxpbmcgYXMgaXQgXCIgYXNzdW1lcyBcIiB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBhbHdheXMgdGhlIGZpcnN0IGNvbHVtbiwgdGhpcyBjYW4gYmUgcmVtb3ZlZCBvbmNlICM4MTU0NjggaXMgZG9uZS5cclxuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI3JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3VyLXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAueW91ci1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gQ29udHJhY3RzIHRhYmxlIC0tLSBcclxudGFibGUuY29udHJhY3RzLXRhYmxlIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gLS0tIFRyYW5zYWN0aW9ucyB0YWJsZSAtLS0gXHJcbnRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSB7XHJcbiAgICAudHlwZS1jb2wsIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sLCAudmFsdWUtY29sLCAuc3RhdHVzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEJhY2sgdG8gbXkgYWNjb3VudCBidXR0b24gLS0tLS1cclxuLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50KSwgMCk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBheW1lbnQgUmVxdWVzdHMgLS0tLS0gXHJcbnRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUge1xyXG4gICAgLnBheS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYuMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpbWUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4LjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOC4xJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYW1vdW50LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAuOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTaXRlIExpc3QgLS0tLS0gXHJcblxyXG4vLyAtLS0gQ29tbW9uIC0tLVxyXG4uc2l0ZS1saXN0LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICB9XHJcbiAgICAvLyBEZWZhdWx0IGljb24gaWYgdGhpcyBpcyBub3QgYW4gZXhwcmVzcyBzaXRlLlxyXG4gICAgLmJlc3Bva2Utc2l0ZS1pY29uIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNpdGUtbGlzdC1iZXNwb2tlLXNpdGUtaWNvbik7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi5mYWlsZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLnVua25vd246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB1bmtub3duKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgICYuY2FuY2VsbGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FuY2VsbGVkKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgICYuaW4tcHJvZ3Jlc3M6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbi1wcm9ncmVzcyk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGFuaW1hdGlvbjogc3Bpbm5lciAxLjVzIGxpbmVhciBpbmZpbml0ZTsgXHJcbiAgICAgICAgQGtleWZyYW1lcyBzcGlubmVyIHtcclxuICAgICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgLnRpbWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi10aW1lLW1hcmdpbi1sZWZ0KTtcclxuICAgICAgICBmb250LXN0eWxlOiAkc2l0ZS1saXN0LXRpbWUtZm9udC1zdHlsZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi10aW1lLW1hcmdpbi1sZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLnB1Ymxpc2gtaGlzdG9yeSB7XHJcbiAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBJbnRlcm5hbCAtLS1cclxuXHJcbnRhYmxlLnNpdGUtbGlzdC10YWJsZSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAgICAgICBcclxuICAgIH1cclxuICAgIHRib2R5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPdmVycmlkZSByZXNwb25zaXZlIHRhYmxlIHJ1bGVzLi4uXHJcbiAgICAmLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBwcmVzZXQtMSBzdHlsZXMuLi5cclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHRyIHtcclxuICAgICAgICAmLnN0YWdpbmctc2l0ZSB7XHJcbiAgICAgICAgICAgIC5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICAgICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICN7KGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aCkgKyAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyLXdpZHRoKX07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby13aWR0aCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaXRlLWxpc3QtbG9nby1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlLCBhIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGhyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJHNpdGUtbGlzdC1pdGVtLWhlYWRlci1zZXBlcmF0b3ItcnVsZS1tYXJnaW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWVudmlyb25tZW50IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzaXRlLWxpc3QtZW52aXJvbm1lbnQtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uLCAuc2l0ZS1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGljZW5zZS1jb2wsIC5wdWJsaXNoaW5nLWNvbCAge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN0YXJ0ZWQtY29sLCAuZW5kZWQtY29sLCAubGFzdC10b3VjaC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE0NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWJ1dHRvbnMtY29sIHtcclxuICAgICAgICAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LWJ1dHRvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1idXR0b25zLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpbWUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHsgXHJcbiAgICAgICAgZm9udC1zaXplOiA0NHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gRXh0ZXJuYWwgKCB3aGF0IHRoZSBjbGllbnQgc2VlcyApIC0tLSBcclxuLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWl0ZW0tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnN0YWdpbmctc2l0ZSB7XHJcbiAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJHNpdGUtbGlzdC1sb2dvLW1hcmdpbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2l0ZS1saXN0LWxvZ28tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyOiAkc2l0ZS1saXN0LWxvZ28tYm9yZGVyO1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtbG9nby1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2UsIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLnNpdGUtZW52aXJvbm1lbnQge1xyXG4gICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAvLyBmb250LXN0eWxlOiAkc2l0ZS1saXN0LWVudmlyb25tZW50LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgLy8gcCB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMDtcclxuICAgICAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICBociB7XHJcbiAgICAgICAgbWFyZ2luOiAkc2l0ZS1saXN0LWl0ZW0taGVhZGVyLXNlcGVyYXRvci1ydWxlLW1hcmdpbjtcclxuICAgIH1cclxuICAgIC5zaXRlLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAvLyBBc3N1bWUgdGhlIGZpcnN0IHNwYW4gd2lsbCBhbHdheXMgYmUgYSBsYWJlbC5cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdpZHRoO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVmFsdWUgXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHsgXHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLnRpbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtYnV0dG9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWJ1dHRvbnMtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHsgXHJcbiAgICAgICAgZm9udC1zaXplOiA3NHB4O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQ01TIFN0eWxpbmcgLS0tLS0tIFxyXG4tIFN0eWxlIGZvciB0aGUgYWN0dWFsIGNtcyBwYWdlcyB0aGVtc2VsdmVzOlxyXG4gIC0gQ01TIEVudHJ5XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIENNUyBTZXJpZXNcclxuLSBDTVMgZW50cnkgY29udHJvbHNcclxuLSBDTVMgbW9kdWxlXHJcbi0gQ01TIGNvbnRlbnQgY29udGFpbmVyLCB0aGlzIGdldCB1c2VkIHRocm91Z2hvdXQgZXhwcmVzcyBmb3IgdmFyaW91cyBwaWVjZXMgb2YgY29udGVudCB0aGF0IGlzIGRlZmluZWQgaW4gdGhlIHZtYWRtaW4ncyBjbXMgc3lzdGVtIHRoZXNlIGJsb2NrIG9mIGNvbnRlbnQgY2FuIGxpdGVyYWxseSBiZSBhbnl3aGVyZSAoIGhlYWRpbmdzIGZvciBwYWdlcywgaW4gdGhlIGZvb3RlciwgYWpheCByZXNwb25zZXMgKS5cclxuKi9cclxuXHJcbi5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8sIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dCB7XHJcbiAgICBtYXgtd2lkdGg6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1tYXgtd2lkdGg7XHJcbiAgICBtYXJnaW46ICN7JGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS1tYXJnaW4tdG9wLWJvdHRvbSAtIGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pfSAje2lmKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyLCBhdXRvLCAwKX0gJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS1tYXJnaW4tdG9wLWJvdHRvbTtcclxuICAgIEBpZiAoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50O1xyXG4gICAgfVxyXG4gICAgJi5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZhbGxiYWNrLlxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuLmRpc3BsYXktY21zLXNlcmllcyB7XHJcbiAgICBtYXJnaW46IDI1cHggMCAwO1xyXG4gICAgYSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGgzLCAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpZiAoJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLmVudHJ5LWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGRpc3BsYXktY21zLWVudHJpZXMtY29udGVudC1mb250LXNpemUpO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQXNzaWduIGNvbG91ciBzY2hlbWVzXHJcbiAgICAmLm5ld3MgLmNlbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ld3MtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgbmV3cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ld3MtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2cgLmNlbGwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2ctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2ctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50cyAuY2VsbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXZlbnRzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXZlbnRzLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52aWRlby1wbGF5bGlzdCAuY2VsbCA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50YWJsZSB7XHJcbiAgICAgICAgLmNlbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNzBweDtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCB0b3AtYm90dG9tKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCByaWdodC1sZWZ0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgcmlnaHQtbGVmdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMTBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHRvcC1ib3R0b20pIDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZW50cnktY29udGVudCAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgJjpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkY21zLXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmdyaWQge1xyXG4gICAgICAgICYudmlkZW8tcGxheWxpc3Qge1xyXG4gICAgICAgICAgICAkY2VsbC1jb250ZW50LXNwYWNpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIC5jZWxsIGEge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNTIwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkY2VsbC1jb250ZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kdXJhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGNlbGwtY29udGVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmxvZyAuY2VsbCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTMwcHg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmV2ZW50cyAuY2VsbCB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzVweCA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAmOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGNtcy1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNlbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1saXN0LWl0ZW0taW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wdWJsaXNoLWRhdGUge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE3cHg7XHJcbiAgICB9XHJcbn1cclxuLnB1Ymxpc2gtZGF0ZSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxufVxyXG4ucmVhZC1tb3JlLWFuY2hvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHJlYWQtbW9yZS1jb2xvdXIpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVhZC1tb3JlLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkcmVhZC1tb3JlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHJlYWRNb3JlU3VmZml4KCk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIENNUyBBcnRpY2xlcywgUG9zdHMgJiBHZW5lcmFsIEVudHJpZXMgLS0tLS0gXHJcbi5jbXMtZW50cnktY29udGFpbmVyIHtcclxuICAgIC8vIEFkZGVkIGZsZXhib3ggdG8gYWxsb3cgZm9yIG5ld3MgYXJ0aWNsZSBiYW5uZXIgdG8gc2l0IGFsb25nIHNpZGUgdGhlIGNtcyBlbnRyeSB0ZXh0LlxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6IDI1cHggMzBweCA0MHB4O1xyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDExMHB4IDcwcHhcclxuICAgIH1cclxuICAgICYubmV3cy1hcnRpY2xlIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgbmV3cykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXdzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBuZXdzKSB7XHJcbiAgICAgICAgICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbmV3cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV2ZW50IHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgZXZlbnQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZXZlbnRzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBldmVudCkge1xyXG4gICAgICAgICAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJsb2ctcG9zdCB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIGJsb2cpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmxvZy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgYmxvZykge1xyXG4gICAgICAgICAgICAuY21zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJHNob3ctY21zLWJhY2tncm91bmQsIGluZm9ybWF0aW9uKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmZvcm1hdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLnN0eWxlLTEgPSBTaW1wbGUgbGF5b3V0LlxyXG4gICAgICAgICYuc3R5bGUtMSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ2KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxICB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBydWxlcyAoIGltcGxlbWVudGVkIHNwZWNpZmljYWxseSBmb3Igd2lsZCB0aGluZ3MgKS5cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2UtaGVhZGluZy1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1wYWdlLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1wYWdlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2UtaGVhZGluZy1sZXR0aW5nLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkY21zLXBhZ2UtaGVhZGluZy1sZXR0aW5nLXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIEFkZGVkIDFweCBkdWUgSUUgbm90IGZsZXgtZ3JvdydpbmcgdGhlIGNvbnRhaW5lciBjb3JyZWN0bHkuXHJcbiAgICAgICAgZmxleDogMSAxcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gICAgICAgIC8vQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWltYWdlLWdhbGxhcnkoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtZ29vZ2xlLW1hcHMtZW1iZWRkZWQoKTtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAgICAgICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGNtcy10YWJsZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmaWVsZHNldC1oZWFkaW5nLWNvbG91ciwgJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYWNrZ3JvdW5kLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpLCAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDc4JTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnB1Ymxpc2gtZGF0ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIH1cclxuICAgIC50YWdnaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPbmx5IGFmZmVjdCBlbnRyeSBtb2R1bGVzIGFzIHRoaXMgd2FzIGdldHRpbmcgaW4gdGhlIHdheSBvZiAuY21zLWJ1dHRvbi1saW5rLi4uIHByb3BlcnRpZXMuXHJcbi5jbXMtZW50cnktY29udGFpbmVyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSB7XHJcbiAgICBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbn1cclxuXHJcblxyXG4uY21zLWVudHJ5LW5hdmlnYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW46IDQwcHggMCAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtcy1lbnRyaWVzLWNvbnRyb2xzLCAuZW50cmllcy1pY29uLWNvbnRyb2xzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiB0aGlzIGNvdWxkIGJlIHJlZmFjdG9ycyB0byB1c2UgY29tbW9uLWJ1dHRvbi0xIG1peGluIG5vdyB0aGF0IHdlIHN1cHBvcnQgaWNvbnMgaW4gYnV0dG9ucy5cclxuICAgIC5jb250cm9sLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBAaWYgJHNtb290aC1lZGdlcy1lbmFibGVkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gICAgLnByZXZpb3VzLWNtcy1lbnRyeSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1wcmV2aW91cyk7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW0gPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5leHQtY21zLWVudHJ5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLW5leHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaGltO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweCAwO1xyXG4gICAgbWFyZ2luOiAxNXB4IDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogMTBweCAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY29udHJvbC1idXR0b24ge1xyXG4gICAgICAgICRlbnRyaWVzLWNvbnRyb2xzLXByZXZpb3VzLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1wcmV2aW91cyksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBiZWZvcmUsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMCxcclxuICAgICAgICAgICAgY29sb3VyOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cixcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKSxcclxuICAgICAgICAgICAgc2l6ZTogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemVcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICAkZW50cmllcy1jb250cm9scy1uZXh0LWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbXMtcGFnaW5hdGlvbi1uZXh0KSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHgsXHJcbiAgICAgICAgICAgIGNvbG91cjogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyksXHJcbiAgICAgICAgICAgIHNpemU6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24taWNvbi1zaXplXHJcbiAgICAgICAgKTtcclxuICAgICAgIFxyXG5cclxuICAgICAgICAmLnByZXZpb3VzLWVudHJ5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tcGFkZGluZywgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IGZpdC1jb250ZW50LCBtb2JpbGUtd2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGVudHJpZXMtY29udHJvbHMtcHJldmlvdXMtYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5uZXh0LWVudHJ5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tcGFkZGluZywgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IGZpdC1jb250ZW50LCBtb2JpbGUtd2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGVudHJpZXMtY29udHJvbHMtbmV4dC1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMjMwcHgpKTtcclxufVxyXG5cclxuLy8gLS0tLS0gSW5mb3JtYXRpb24gUGFnZXMgLS0tLS0gXHJcbi5zaXRlLW1hcCB7XHJcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xyXG4gICAgPiB1bCB7IFxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLnN1cHByZXNzLWJvcmRlcikge1xyXG4gICAgICAgID4gdWwgeyBcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzaXRlLW1hcC1ydWxlLXBhcmVudC1zZXBlcmF0b3I7IFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIC8vIElmIG9ubHkgaXRlbSB0aGVuIHN1cHByZXNzIG1lY2hhbmlzbSBhbGwgdG9nZXRoZXIuXHJcbiAgICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIERvIG5vdCBzaG93IHNlcGVyYXRvciBvbiB0aGUgbGFzdCBpdGVtLlxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC5wYXJlbnQge1xyXG4gICAgICAgICAgICA+IGEsID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLW1hcC1wYXJlbnQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbWFwLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNpdGUtbWFwLXBhcmVudC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAvL0BpbmNsdWRlIGNoZXZyb24xKCRjb2xvdXIzLTIsICRwb2ludFJpZ2h0LCAxNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDM1cHggMCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzaXRlLW1hcC1ydWxlLXBhcmVudC1zZXBlcmF0b3I7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhcmVudCBhLCB1bCAuY2hpbGQgPiBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc2l0ZS1tYXAtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNpdGUtbWFwLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNtcy1tb2R1bGUgeyBcclxuICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy1ybS1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogJGNtcy1ybS1wYWRkaW5nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlYWQtbW9yZS1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmVhZC1tb3JlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRyZWFkLW1vcmUtZm9udC1zdHlsZTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLXJtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBtYXAtZ2V0KCRjbS1ybS10ZXh0LWRlY29yYXRpb24sIGRlZmF1bHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkY21zLXJtLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcmVhZC1tb3JlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXIsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBtYXAtZ2V0KCRjbS1ybS10ZXh0LWRlY29yYXRpb24sIGhvdmVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHJlYWRNb3JlU3VmZml4KCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYWNrLXRvLWluZm9ybWF0aW9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAyMzBweCkpO1xyXG59XHJcblxyXG4vLyAtLS0tIENNUyBDb250ZW50IENvbnRhaW5lcnMgLS0tLS1cclxuLy8gREVQUkVDQVRFRCwgeW91IHNob3VsZCB1c2UgLmNtcy1jb250ZW50LWNvbnRhaW5lciBpbnN0ZWFkLCB0aGlzIHByaW1hcnkgZ2V0cyB1c2VkIGluIHRoZSBhY2NvdW50IGFyZWEgYW5kIHNob3VsZCBiZSByZXRyby1maXR0ZWQuXHJcbi5jbXMtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMTJweCAwIDQxcHg7XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSWYgdGhlIGNtcy1jb250ZW50LWNvbnRhaW5lciBpcyB3aXRoaW4gYSBkaXYgdGhhdCBoYXMgYmFja2dyb3VuZCBjb2xvdXIgc2V0LlxyXG5kaXZbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvclwiXSB7XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHsgXHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNtcy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTsgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpOyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGlzIHRoZSBjbGFzcyB0aGF0IHNob3VsZCBiZSB1c2VkIHdoZW4gZGVmaW5pbmcgYSBjbXMgY29udGVudCBhcmVhLlxyXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpOyBcclxuICAgIC8vQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7ICAgXHJcbiAgICAvLyBUaGlzIHdhcyBpbnRlcmZlcmluZyB3aXRoIGhvdyBmb3JtIGNtcy1jb250ZW50LWNvbnRhaW5lcnMgd2VyZSBiZSBhcnJhbmdlZCBmb3Igd2ludGVyc3Rva2UuXHJcbiAgICAvLyAmOm5vdCgubGVmdC1hbGlnbikge1xyXG4gICAgLy8gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYW1vdW50LXBhaWQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCB0aGUgaWNvbiBhYm92ZS5cclxuICAgICAgICAgICAgY29sb3I6ICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYW1vdW50LXBhaWQge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAvLyBLZWVwIGNvbnNpc3RlbnQgd2l0aCB0aGUgaWNvbiBhYm92ZS5cclxuICAgICAgICAgICAgY29sb3I6ICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jZW50ZXItY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBBZGp1c3RpbmcgYWxpbmdtZW50IGZvciBxYyBmb3IgODE5NjA2IHJlZ2FyZGluZyB0ZXh0ZGIgYWxpZ25tZW50IGZvciBlbnF1aXJ5IGZvcm0gb24gc2VhcmNoIHBhZ2UuXHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgJi5lcnJvciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgaDIsIGgzLCBoNCwgaDUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmd1dHRlci15IHtcclxuICAgICAgICBtYXJnaW46IDEycHggMCA0MXB4OyBcclxuICAgIH1cclxuICAgICYucGFnZS1oZWFkaW5nLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgJi5uby1zaWRlLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgJi5vdXRsaW5lIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8vIE1vdmluZyBiYXNlIHN0eWxlcyBvdXQgb2YgY21zLW1peGluIGR1ZSB0byBjb25mbGljdGluZyBydWxlcyB3aXRoICotYnV0dG9uIGNsYXNzZXMuXHJcbiAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1hbmNob3Itc2l6ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgZGVmYXVsdC1jb2xvdXIoJGNtcy1hbmNob3ItY29sb3VyKSk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRjbXMtYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gYXQtcm9vdCB3YXMgb3ZlcnJpZGluZyBmb290ZXIgcGFyYWdyYXBoIHN0eWxlcy5cclxuICAgIC8vIEBhdC1yb290IHsgIFxyXG4gICAgICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIC8vIH1cclxuICAgICYgKyB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSBmb3IgdGhlIGxvZ2luIHBhZ2UuXHJcbiAgICAmICsgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbn0iLCIvLyAtLS0tLSBUSEUgTUFKT1JJVFkgT0YgVEhJUyBDT0RFIFNIT1VMRCBCRSBSRS1XUklURU4gV0hFTiBXRSBSRS1CVUlMRCBUSEUgQ0hFQ0tPVVQgQVMgSVRTIEZST00gVEVNUExBVEUgMSAtLS0tLSBcclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUG9wdXBzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiNwb3B1cE92ZXJsYXkge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjMtNiwgMC41KTtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRsZWZ0OiAwO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dG9wOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHotaW5kZXg6IDUwMDAwO1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogXCIgXCI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0d2lkdGg6IDA7XHJcblx0fVxyXG59XHJcbiNwb3B1cENvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRib3JkZXItcmFkaXVzOiAwLjNlbTtcclxuXHRib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luOiAwIDIlO1xyXG5cdG1heC13aWR0aDogODAwcHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAobWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApICsgMjAwKTtcclxuICAgIH1cclxuXHQmLnN0YW5kYXJkIHtcclxuXHRcdG1heC1oZWlnaHQ6IDkwJTtcclxuXHRcdCNwb3B1cENvbnRlbnQge1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0XHQuY29udGVudENvbnRhaW5lciB7XHJcblx0XHRcdFx0bWF4LWhlaWdodDogNTB2aDtcclxuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCYuc2Nyb2xsIHtcclxuXHRcdCNwb3B1cENvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xyXG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcblx0XHRcdC5jb250ZW50Q29udGFpbmVyIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0bGVnZW5kIHtcclxuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xyXG5cdH1cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKSArIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICBtYXJnaW46IDAgMWVtIDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAxM3B4IDEwcHg7XHJcbiAgICB9XHJcblx0LnBvcHVwQnV0dG9uQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cdFx0XHJcblx0XHQucG9wdXBDbG9zZUJ1dHRvbiB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxZW07XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uIHtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMDtcclxuXHR0b3A6IDA7XHJcblx0QGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxufVxyXG4uc2Vjb25kYXJ5LWJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uIHtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgYSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmZvcm1GaWVsZENvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuI2NoZWNrb3V0Rm9ybSB7XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XHJcbiAgICB9XHJcbiAgICAuY2hhbmdlRGV0YWlscyB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAxNXB4O1xyXG4gICAgfVxyXG4gICAgI2NoZWNrb3V0Rm9ybURldGFpbHMge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGNvbG91cjQtMywgMC4yKTtcclxuICAgIH1cclxuICAgIC5jaGVja291dC1kZXRhaWxzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAzNXB4O1xyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjY2hlY2tvdXRCdXR0b25Db250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogNzVweCAwIDA7XHJcbiAgICAgICAgI2NoZWNrb3V0U3VibWl0QnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCwgMTUsIDYwMCwgMTVweCAyNXB4KTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJGVkaXRBY2NvdW50RGV0YWlsc1BvcHVwSWNvblNpemU6IDQ0cHg7XHJcblxyXG4jZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA4MDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgIGgxIHsgXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6ICgkZWRpdEFjY291bnREZXRhaWxzUG9wdXBJY29uU2l6ZSAqIDEuNikgMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmNGZmJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGVkaXRBY2NvdW50RGV0YWlsc1BvcHVwSWNvblNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b25Db250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXIzLTIpO1xyXG4gICAgfVxyXG4gICAgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQpO1xyXG4gICAgfVxyXG4gICAgI2NoYW5nZURldGFpbHNDbG9zZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCk7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcbiNjaGFuZ2VEZXRhaWxzIHtcclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2FjY291bnRQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiN0ZXJtcyB7XHJcbiAgICBtYXJnaW46IDUwcHggMCAwO1xyXG59XHJcblxyXG4vLyAtLS0gRGVsaXZlcnkgRGV0YWlscyAtLS0gXHJcbiNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuI2RlbGl2ZXJ5Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNkZWxpdmVyeVVwZ3JhZGVDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uRXJyb3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMC43NXJlbSFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxufVxyXG5cclxuLmRlbGl2ZXJ5LW9wdGlvbiB7XHJcbiAgICB3aWR0aDogMjYwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2hlY2tvdXQtY29tcGxldGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuI2JpbGxQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5lZGl0LmNoZWNrb3V0UG9wdXBMaW5rIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy00O1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgcCwgaDIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YXRlcm5hcnktYnV0dG9uOm5vdCg6aG92ZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy00O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAyNXB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhdGVybmFyeS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByb2NlZWQpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkcXVhdGVybmFyeS1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5lcnJvckNvbnRhaW5lci5wb3N0Y29kZUxvb2t1cFNlbGVjdENvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHggMDsgXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kZWxpdmVyeS1yZWFkLW9ubHkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59IiwiLypcclxuLS0tLS0gNDA0IC0tLS0tLSBcclxuLSBBcmUgeW91IGxvc3Q/IFxyXG4qL1xyXG5cclxuLmVycm9yLW5vdC1mb3VuZC1sb2dvIHtcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRub3QtZm91bmQtbG9nby1zaXplLCB3aWR0aCk7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJG5vdC1mb3VuZC1sb2dvLXNpemUsIGhlaWdodCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1Mi41cHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTA1cHg7XHJcbiAgICB9XHJcbn1cclxuLmVycm9yLW5vdC1mb3VuZC1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgQGlmICRub3QtZm91bmQtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBAaWYgJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRub3QtZm91bmQtYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRub3QtZm91bmQtYmFja2dyb3VuZC1zaXplO1xyXG4gICAgICAgICAgICBAaWYgbm90ICRub3QtZm91bmQtYmFja2dyb3VuZC1yZXBlYXQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciB7IFxyXG4gICAgd2lkdGg6IG1hcC1nZXQoJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci13aWR0aCwgc21hbGwpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci13aWR0aCwgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdC1mb3VuZC1oZWFkaW5nLTEtY29sb3VyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90LWZvdW5kLWhlYWRpbmctMi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRub3QtZm91bmQtaGVhZGluZy0yLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vdC1mb3VuZC1oZWFkaW5nLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRub3QtZm91bmQtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiA2Mi41cHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMjVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTGlnaHQgYm94ICAtLS0tLVxyXG4tIFRoaXMgZ2V0IGRpc3BsYXllZCBvbiBwcm9kdWN0IHBhZ2VzIHRvIGRpc3BsYXkgdGhlIGZ1bGwgcmVzb2x1dGlvbiBwcm9kdWN0IGltYWdlcy5cclxuRnVudGlvbmFsaXR5IHRoaXMgaG9sZHM6XHJcbi0gTGlnaHQgYm94IGFjdGl2ZSAvIGluYWN0aXZlIHN0YXRlcy5cclxuLSBUaGUgb3ZlcmxheSBzdHlsZXMuXHJcbi0gQWRkaXRpb25hbCBJbWFnZXMuXHJcbi0gMzYwIGltYWdlIHN1cHBvcnQuXHJcbi0gVGhlIGhlYWRlciB0aGF0IGdldHMgZ2VuZXJhdGVkLlxyXG4tIFZpZGVvIHBsYXllci5cclxuKi9cclxuXHJcbi8vT3ZlcmxheVxyXG4jbGlnaHRib3gtb3ZlcmxheS5hY3RpdmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMjtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG59XHJcblxyXG4vL0xpZ2h0Ym94XHJcbi5saWdodGJveCB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNsaWdodGJveC1oZWFkZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAjbGlnaHRib3gtY291bnQge1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbGlnaHRib3gtaXRlbS1jb3VudC1mb250LXNpemUpKTtcclxuICAgICAgICBjb2xvcjogJGxpZ2h0Ym94LWl0ZW0tY291bnQtY29sb3VyO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA3cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LWl0ZW0tY291bnQtZm9udC1zaXplKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2xpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG9yZGVyOiA0O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI2xpZ2h0Ym94LWNvbnRlbnQtb3V0ZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG59XHJcblxyXG4jbGlnaHRib3gtY29udGVudC1pbm5lci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucmVlbC1vdmVybGF5IHtcclxuICAgIC8vIE92ZXJyaWRpbmcgdGhlIGRpbWVuc2lvbnMgY2FsY3VsYXRlZCBieSB0aGUgcmVlbCBwbHVnaW4sIHRoZSBpbmJ1aWx0IGpzIHJlc3BvbnNpdmUgc3VwcG9ydCBjb25mbGljdHMgd2l0aCBmb3VuZGF0aW9uJ3MgbWVkaWEgcXVlcnkgc3VwcG9ydC5cclxuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLy8gVHJpZ2dlciBvdmVybGF5LlxyXG4uaW1hZ2Uge1xyXG4gICAgJi5saWdodGJveC1lbmFibGVkIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVubGFyZ2UpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC10cmlnZ2VyLWljb24tYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRsaWdodGJveC10cmlnZ2VyLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAwO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGRlZmF1bHQtY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5saWdodGJveCB7XHJcbiAgICAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gRG9uZSBuZWVkIHRvIHNldCBhYnNvbHV0ZSB3aWR0aCArIGhlaWdodCBhbnltb3JlLlxyXG4gICAgICAgIC8vIHdpZHRoOiAkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiAkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYmV0d2VlbiBjb2xvdXJzLlxyXG4gICAgICAgICRiYWNrZ3JvdW5kLWNvbG91cjogJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAvLyBEZWZhdWx0LlxyXG4gICAgICAgICRidXR0b24tZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSwgJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLy8gSG92ZXIuXHJcbiAgICAgICAgJGJ1dHRvbi1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyLCBob3ZlciksICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIC8vIEFjdGl2ZVxyXG4gICAgICAgICRidXR0b24tYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksICRsaWdodGJveC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRidXR0b24tZGVmYXVsdCwgJGJ1dHRvbi1ob3ZlciwgJGJ1dHRvbi1hY3RpdmUpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlZWwtb3ZlcmxheSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxpZ2h0Ym94LWNvbnRlbnQge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWxpZ2h0Ym94LWhlYWRlci1oZWlnaHQpIC0gI3tzcGFjaW5nLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbiwgMSwgc21hbGwpfSk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiB1bnNldDtcclxuICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgcGFnZXIgd2lkdGguXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBtZWRpdW0tdmFsdWUoJGxpZ2h0Ym94LXBhZ2VyLWl0ZW0td2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IHhsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGlnaHRCb3hTbGlkZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogI3tzbWFsbC12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dnc7XHJcbiAgICAgICAgICAgICAgICAvL2hlaWdodDogI3tzbWFsbC12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dmg7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAje21lZGl1bS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCl9KTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgZW5mb3JjZSBhIG1pbiBoZWlnaHQgYnV0IHJhdGhlciBhZGp1c3QgdG8gY29udGVudCwganVzdCBtYWtlIHN1cmUgeW91IGRvbid0IGdldCBpbnRvIGEgc2l0dWF0aW9uIHdoZXJlIHlvdSBvdmVyZmxvdyBhbm90aGVyIGVsZW1lbnQgLyB2aWV3cG9ydC5cclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAje21lZGl1bS12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dmg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICN7bGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMpfXZoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pcy12aWRlbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MHZ3O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcsICNsaWdodGJveC12aWRlby1wbGF5ZXIge1xyXG4gICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IG1hcC1nZXQoJGxpZ2h0Ym94LXNsaWRlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRsaWdodGJveC1zbGlkZS1pbWFnZS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgLy8gUHJldmVudCBicm93c2VycyBmcm9tIGhpZ2hsaWdodGluZyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcmV2LFxyXG4gICAgICAgIC5uZXh0IHtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250cm9scy13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWhlaWdodCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaGVpZ2h0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHJldiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGJvcmRlclJhZGl1czEgJGJvcmRlclJhZGl1czEgMDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAwO1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlnaHRib3gtcHJldik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5leHQge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgMCAwICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggMCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpZ2h0Ym94LW5leHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTIwcHggNnB4IDYwcHggLTEzcHggJGNvbG91cjI7XHJcbiAgICB9XHJcbiAgICAjbGlnaHRib3hQYWdlckNvbnRhaW5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtcGFnZXItaGVpZ2h0KTtcclxuICAgICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgIC8vIGJveC1zaGFkb3c6IC0yOXB4IDI4cHggNThweCAtMjlweCAkY29sb3VyMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaGVpZ2h0KTtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIxLCAwLjUpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgICAgICAucHNfX3RodW1iLXkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC14IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci10b3A6IDNweCBzb2xpZCAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteSB7IFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHNfX3JhaWwteCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIxLCAwLjUpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgICAgICAucHNfX3RodW1iLXgge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyNCwgMC43KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBzLS1hY3RpdmUteCB7XHJcbiAgICAgICAgICAgICAgICAucHNfX3JhaWwteCB7XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCk7ICAgIFxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCk7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1dnc7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwdmg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICAgICYuaXMtdmlkZW8ge1xyXG4gICAgLy8gICAgd2lkdGg6IDI1dnc7XHJcbiAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG5cclxuICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbWFnZS0zNjAge1xyXG4gICAgICAgIEBpbmNsdWRlIGltYWdlMzYwT3ZlcmxheSg4MCUsIDU1cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlnaHRib3gtYmFja2dyb3VuZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJveC1iYWNrZ3JvdW5kLWNvbG91cjtcclxufVxyXG5cclxuI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8vIEFzIHdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgdmlkZW9zIHN1cHBsaWVkIGJ5IHlvdXR1YmUgc2V0IHRoZSBhc3BlY3QgcmF0aW8gdG8gMTY6OSBiYXNlZCBvbiB0aGUgYmVzdCBkaW1lbnNpb25zIHRhYmxlIGhlcmUgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS9hbnN3ZXIvNjM3NTExMiwgdGhlIG1ham9yaXR5IG9mIHZpZGVvcyB3aWxsIGJlIGluIDE5MjB4MTA4MC4gSWYgdGhpcyBuZWVkcyB0byBiZSByZW1vdmVkIGEgYWJzb2x1dGUgaGVpZ2h0IHdpbGwgbmVlZCB0byBiZSBhcHBsaWVkIHRoZSBpZnJhbWUuXHJcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XHJcbn0iLCIvKlxyXG4tLS0tLSBNYWduaWZpZXIgLS0tLS0gXHJcblRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgb24gdGhlIHByb2R1Y3QgcGFnZSB3aGVuIHlvdSBob3ZlciBvdmVyIHRoZSBtYWluIGltYWdlLlxyXG4qL1xyXG5cclxuLmltZy1tYWduaWZpZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG59XHJcbi5pbWctbWFnbmlmaWVyLWdsYXNzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgY3Vyc29yOiBjcm9zc2hhaXI7XHJcbn1cclxuXHJcbi8vIElmIG1hZ25pZmljYXRpb24gaXMgYWN0aXZlIG9uIGEgbGlnaHRib3ggZW5hYmxlZCBpbWFnZSB0aGVuIHJlZHVjZSB0aGUgbGlnaHRib3ggaWNvbiBkb3duIGFzIHRoaXMgY2FuIGdldCBpbiB0aGUgd2F5IG9mIHRoZSBtYWduaWZpY2lhdGlvbiBnbGFzcy5cclxuLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLm1hZ25pZmljYXRpb24tY29udGFpbmVyLmltYWdlIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1wYWRkaW5nLCBtYWduaWZpY2F0aW9uLWhvdmVyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAjeygkbGlnaHRib3gtdHJpZ2dlci1pY29uLXNpemUgLyAyKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmltYWdlLW1hZ25pZmljYXRpb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG4gICAgLm1hZ25pZnlpbmctZ2xhc3Mge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBUT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcy5cclxuLm1hZ25pZmllci1jb250cm9scy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICAubWFnbmlmaWVyLWNvbnRyb2wge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZS1pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB6b29tLW91dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgem9vbS1pbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBieFNsaWRlciAoIENhcm91c2VscyApIC0tLS0tLSBcclxuLSBodHRwczovL2J4c2xpZGVyLmNvbS9cclxuLSBUaGlzIGhhbmRsZXMgYWxsIHRoZSBkaXNwbGF5IHN0eWxlcyBmb3IgY2Fyb3VzZWxzIC8gc2xpZGVzaG93cyBhcm91bmQgZXhwcmVzcyB0aGlzIGNhbiBiZSBpbiBhIG1vZHVsZSBvciBhZGRpdGlvbmFsIGltYWdlcyBvbiB0aGUgcHJvZHVjdCBwYWdlLCB0aGUgY29udGVudCBpcyBub3QgcmVzdHJpY3RlZCB0byBqdXN0IGltYWdlcyBidXQgY2FuIGV4dGVuZCB0byBkaXNwbGF5IHByb2R1Y3QgLyBlYmcncy4gXHJcbiovXHJcblxyXG5cclxuLmNhcm91c2VsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJi5ieC11bmRlcmxpbmUge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2Fyb3VzZWwtY29sbGVjdGlvbi11bmRlcmxpbmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ4LXNoYWRvdyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsLCAmLnRyYW5zaXRpb24tbW9kZS1mYWRlIHtcclxuICAgICAgICAuYngtdmlld3BvcnQge1xyXG4gICAgICAgICAgICAvLyBvdmVyZmxvdy15OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBjbGlwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBpcyBhIGR1cGxpY2F0aW9uIG9mIGNvZGUgYXMgdGhpcyBpcyBkZWZpbmVkIGluIHRoZSAuY29sbGVjdGlvbiBjbGFzcywgdGhpcyBkZXBlbmRhbmN5IHNob3VsZCBiZSB3b3JrZWQgb3V0IHRoZSBzeXN0ZW0gb25jZSA4MTcxMzggaXMgZG9uZSBidXQgY3VycmVudGx5IHRoZXJlIGlzIGEgZGlzY29ubmVjdCBiZXR3ZWVuIGNhcm91c2VsIHNwYWNpbmcgYW5kIGdyaWQgc3BhY2luZy5cclxuICAgIC0tbW9kdWxlLWd1dHRlcjogI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vL1NsaWRlIHN0eWxlcywgdGhpcyBoYW5kbGVzIGJhc2ljIGJhbm5lciBjYXJvdXNlbCBzdHlpbmcgdG8gbXVsdGlwbGUgc2xpZGUgcHJvZHVjdCBjYXJvdXNlbHMuXHJcbi8vIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgLy8gVE9ETzogdGhpcyBpcyBub3QgYSBmaXggYW5kIG5lZWQgYWRkaXRpb25hbCB3b3JrLi4uIDgxNjUwMFxyXG4gICAgLy8gWW91IG11c3QgYWRkIHBhZGRpbmcgaWYgc2hhZG93IGlzIGVuYWJsZWQuXHJcbiAgICAvLyAmLm11bHRpLWNvbC1wYWRkaW5nIHtcclxuICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIC8vIH0gICBcclxuLy8gfVxyXG5cclxuW2RhdGEtYnhTbGlkZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIHtcclxuICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jZWxsKCk7XHJcbn1cclxuXHJcbi5ieC1zZXBlcmF0b3Ige1xyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xyXG4gICAgICAgICAgICAmICsgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1kZWZhdWx0LWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtZGVmYXVsdC1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1zZXBlcmF0b3JzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ieC12aWV3cG9ydCB7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuW2lkJD1cIi1jYXJvdXNlbC1jb250YWluZXJcIl0ge1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLy8gLS0tLS0gQ29udHJvbHMgLS0tLS1cclxuLy9Ob3JtYWwgLyBmYWxsYmFjaywgbWVkaXVtIHNpemVkIGJ1dHRvbnMuXHJcbi5jYXJvdXNlbDpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcclxuICAgIGhlaWdodDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKTtcclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpO1xyXG4gICAgICAgIGhlaWdodDogIG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERpY3RhdGVzIHdoZXRoZXIgdGhlIGNvbnRyb2xzIHNob3VsZCBiZSB3aXRoaW4gY2Fyb3VzZWwgY29udGFpbmVyIG9yIG92ZXJmbG93LlxyXG4uY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9scyB7XHJcbiAgICBAaWYgbm90ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgICAgICY6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIHtcclxuICAgICAgICAgICAgLmJ4LXByZXYge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpICogMS4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLnNtYWxsQ29udHJvbHMge1xyXG4gICAgICAgICAgICAvLyBUT0RPOiBpbXBsZW1lbnQgc21hbGwgY29udHJvbHMgcG9zaXRpb25pbmcuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGFyZ2VDb250cm9scyB7XHJcbiAgICAgICAgICAgIC5ieC1wcmV2IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSAgXHJcblxyXG4gICAgfVxyXG4gICAgICBcclxufVxyXG5cclxuLy9MYXJnZSBjb250cm9scywgcGlubmVkIHRvIHRoZSBsZWZ0L3JpZ2h0IG9mIHRoZSBzbGlkZXIgd2l0aCBlbmxhcmdlZCBidXR0b24gYXJlYS5cclxuLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcclxuICAgIC8vVGhpcyBjbGFzcyBpcyBvbmx5IHVzZWQgaWYgYSBwYWdlciBpcyBhY3RpdmUuXHJcbiAgICAuYngtY29udHJvbHMtZGlyZWN0aW9uIHtcclxuICAgICAgICBAaWYgbm90ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBUb28gYWxsb3cgZm9yIGEgZ3V0dGVyIGJldHdlZW4gdGhlIGJ1dHRvbnMuXHJcbiAgICAgICAgICAgICRidXR0b24tZ3V0dGVyOiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LWd1dHRlcjtcclxuICAgICAgICAgICAgd2lkdGg6ICgoc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpICogMikgKyAoJGJ1dHRvbi1ndXR0ZXIgKiAyKSk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGJ1dHRvbi1ndXR0ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAoKGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKSAqIDIpICsgJGJ1dHRvbi1ndXR0ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICdib3R0b20tcmlnaHQnIHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ2JvdHRvbS1sZWZ0JyB7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1yaWdodCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLWxlZnQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyB7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAvIDIuNSk7XHJcbiAgICAgICAgICAgIGhlaWdodDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgLyAyLjUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoZXZyb24xKCRjb2xvdXI0LCAkcG9pbnRMZWZ0LCBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCkgLyAyLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hldnJvbjEoJGNvbG91cjQsICRwb2ludFJpZ2h0LCBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBzbWFsbCkgLyAyLjUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCA+IDApIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggc29saWQgZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBkZWZhdWx0KTsgXHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLmNhcm91c2VsLnNtYWxsLXdpZGUtY29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcclxuLy8gICAgIC5ieC1wcmV2LCAuYngtbmV4dCB7XHJcbi8vICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbi8vICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIC8vIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLXNtYWxsLWljb24pO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IDhweDtcclxuLy8gICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Qge1xyXG4gICAgLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUge1xyXG4gICAgICAgIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtZ3V0dGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29udHJvbHMgY29udGFpbmVyIHBvc2l0aW9uaW5nLlxyXG5AaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLXJpZ2h0XCIgb3IgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1sZWZ0XCIge1xyXG4gICAgICAgICAgICAuY2Fyb3VzZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgIC5ieC12aWV3cG9ydCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwiYm90dG9tLXJpZ2h0XCIgb3IgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1yaWdodFwiIHsgIFxyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcImJvdHRvbS1sZWZ0XCIgb3IgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSBcInRvcC1sZWZ0XCIge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5pbWFnZS1zbGlkZXNob3ctbW9kdWxlIHtcclxuICAgICAgICAuYngtY29udHJvbHMsIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtcmlnaHQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1sZWZ0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSBAZWxzZSB7XHJcbiAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc21hbGwtd2lkZS1jb250cm9scyB7XHJcbiAgICAuYngtY29udHJvbHMge1xyXG4gICAgICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtcHJldmlvdXMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIHNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLW5leHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLXNpemUsIHNtYWxsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ4LWNvbnRyb2xzIHtcclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgc21hbGwpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaWYgJGJ4LWNvbnRyb2xzLWljb24tc2hhZG93IHtcclxuICAgICAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJGJ4LWNvbnRyb2xzLWljb24tc2hhZG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtcHJldiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtcHJldmlvdXMpO1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSN7bGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKX07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ieC1uZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcm91c2VsLWNvbnRyb2xzLW5leHQpO1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSkpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ieC1wcmV2LCAuYngtbmV4dCB7XHJcbiAgICAvLyBNYWtlIGp1c3QgdGhlIGJ1dHRvbnMgb3ZlcmxhcCB0aGUgdGhlIGNhcm91c2VsIGNvbnRlbnRzLlxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLmJ4LXByZXYge1xyXG4gICAgQGlmIHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZykge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYngtbmV4dCB7XHJcbiAgICBAaWYgc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBQcmV2ZW50cyBmbGFzaGluZyBjb250ZW50IG9uIHBhZ2UgbG9hZC5cclxuZGl2W2RhdGEtYnhTbGlkZXJdIHtcclxuICAgIC8vIEdldCBjb2x1bW4gY291bnQuXHJcbiAgICAvLyBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgdGhlIENTUyBmdW5jdGlvbiBhdHRyKCkgaXMgaW4gbWFpbnN0cmVhbSBzdXBwb3J0IGJ1dCB0eXBlKCkgaXMgbm90IHdoaWNoIHdlIG5lZWQgdG8gY29udmVydCB0aGUgdmFsdWUgZnJvbSBzdHJpbmcgdG8gaW50ZWdlciB0byBiZSB1c2VkIGluIGNhbGMoKSBmdW5jdGlvbi4gXHJcbiAgICBAZm9yICRjb2x1bW5zIGZyb20gMSB0aHJvdWdoIDEyIHtcclxuICAgICAgICAmW2J4LWNvbHVtbi1jb3VudD1cIiN7JGNvbHVtbnN9XCJdIHtcclxuICAgICAgICAgICAgLS1jb2x1bW5zOiAjeyRjb2x1bW5zfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmOm5vdChbYngtc2xpZGVyLWlkXSkge1xyXG4gICAgLy8gICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgLy8gfVxyXG4gICAgJjpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vIFByZS1pbml0aWFsaXNlZCBjb2x1bW4gYXJyYW5nZW1lbnQsIHRoaXMgaXMgZm9sbG93aW5nIHRoZSBzYW1lIHJ1bGVzIGFzIGdyaWQgbW9kdWxlcyBpbiBfbW9kdWxlcy12Mi5zY3NzIC5jb2xsZWN0aW9uICYgLmdyaWQtY29sbGVjdGlvbi14XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAvLyBBcHBseSByZXNwb25zaXZlIGNvbHVtbiBjb3VudCwgdGhpcyBtaXJyb3cgaGFuZGxlYmFycyBoZWxwZXJzIHNtYWxsLWNvbHVtbi1jb3VudC5qcyAmIG1lZGl1bS1jb2x1bW4tY291bnQuanMuXHJcbiAgICAgICAgLS1zbWFsbC1jb2x1bW5zOiBtYXgocm91bmQoZG93biwgY2FsYyh2YXIoLS1jb2x1bW5zKSAvIDIpLCAxKSwgMSk7XHJcbiAgICAgICAgLS1tZWRpdW0tY29sdW1uczogY2FsYyh2YXIoLS1zbWFsbC1jb2x1bW5zKSArIDEpO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXNtYWxsLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XHJcbiAgICAgICAgLy8gQXBwbHkgZ2FwLlxyXG4gICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1tZWRpdW0tY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje21lZGl1bS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje2xhcmdlLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb250ZW50LWluaXRpYWxpc2luZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNvbnRlbnQtbG9hZGluZy1zcGlubmVyKCRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLWNvbG91cik7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ4LXZpZXdwb3J0IHtcclxuICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbn1cclxuLy8gTWFrZXMgZXZlcnkgc2xpZGUgZGlzcGxheTogYmxvY2sgb3RoZXJ3aXNlIHlvdSBsb3NlIHRoZSBhbmltYXRpb24gZWZmZWN0IGZvciB0cmFuc2l0aW9uaW5nLlxyXG4uY2Fyb3VzZWwgLmJ4LXZpZXdwb3J0IHtcclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgbm93IGdldHMgaGFuZGxlZCBieSB0aGUgLnRyYW5zaXRpb24tbW9kZS0gY2xhc3NlcywgaGVpZ2h0OiAxMDAlIGFsc28gY2F1c2UgYnhzbGlkZXIgdG8gaW5jb3JyZWN0bHkgY2FsY3VsYXRlIHRoZSBzbGlkZSBoZWlnaHQgd2hlbiBpbiBmYWRlIG1vZGUuXHJcbiAgICAgICAgLy8gTmVlZCB0byBzZXQgMTAwJSBpbiBtb2JpbGUgdG8ga2VlcCBhbGwgY2VsbHMgdGhlIHNhbWUgaGVpZ2h0LlxyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIFBhZ2VyIC0tLSBcclxuLmJ4LXBhZ2VyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIC5ieC1wYWdlci1pdGVtIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6ICgkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnMgKiAxLjUpO1xyXG4gICAgICAgIGhlaWdodDogKCRieC1wYWdlci1idXR0b24tZGltZW50aW9ucyAqIDEuNSk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDcuNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRieC1wYWdlci1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJ4LXBhZ2VyLWJ1dHRvbi1yYWRpdXMpO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICgkYngtcGFnZXItYnV0dG9uLXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAkYngtcGFnZXItYnV0dG9uLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybzsgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gVGhpcyBjbGFzcyBnZXQgYXNzaWduZWQgd2hlbiB0aGUgc2xpZGUgaXMgYWN0aXZlIE5PVCB3aGVuIHRoZSBidXR0b24gaXMgYWN0aXZlLlxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogbWFwLWdldCgkY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eSwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gU2xpZGVycyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFRoaXMgaXMgKk5PVCogY2Fyb3VzZWwgZnVuY3Rpb25hbGl0eSBwbGVhc2UgcmVmZXIgdG8gYnhzbGlkZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBUaGlzIGlzIGZvcm0gZm9ybSBjb250cm9scyB3aGVyZSB5b3UgcmVxdWlyZSBhbiBpbnB1dCB0eXBlID0gc2xpZGVyLlxyXG4tIFRoZSBzdGx5ZXMgaGVyZSB3aWxsIGFsc28gaGF2ZSBhIGhlYXZ5IGluZmx1ZW5jZSBvbiB0aGUgcHJpY2Ugc2xpZGVyIGZvciBmaWx0ZXJzLlxyXG4qL1xyXG5cclxuLnNsaWRlciB7XHJcbiAgICBoZWlnaHQ6ICRzbGlkZXItcmFpbC1oZWlnaHQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkc2xpZGVyLXJhaWwtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhbmdlLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYW5nZS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQWRkIGVycm9yIHN0eWxlcy5cclxuICAgICYuc2xpZGVyLWludmFsaWQge1xyXG4gICAgICAgIC51aS1zbGlkZXItcmFuZ2Uge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51aS1zbGlkZXItaGFuZGxlIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIFNsaWRlciBIYW5kbGUgLS0tLSBcclxuLy8gVGhlIHRoaW5ncyB0aGF0IHlvdSBwdWxsIG9uLlxyXG4udWktc2xpZGVyLWhhbmRsZSB7XHJcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtZGltZW50aW9ucztcclxuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtZGltZW50aW9ucztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0uNWVtO1xyXG4gICAgLy8gSWYgdGhlIGhhbmRsZSBpcyBpbiB0aGUgbWluIHBvc2l0aW9uIHRoZSByYWlsIGJlbG93IGlzIHN0aWxsIGV4cG9zZWQuXHJcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItaGFuZGxlLWJvcmRlci1yYWRpdXM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1pY29uLWNvbG91cjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLWhhbmRsZS1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvdXIxO1xyXG5cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG59XHJcblxyXG4vLyAtLS0tLSBTbGlkZXIgUmFuZ2UgLS0tLS0gXHJcbi8vIFRoZSBjb2xvdXJlZCBhcmVhICggdGhlIHNlbGVjdGVkIHNlY3Rpb24gKVxyXG4udWktc2xpZGVyLXJhbmdlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAvLyBBZGRpbmcgYWRkdGlvbmFsIHdpZHRoICsgaGVpZ2h0IHNvIHRoZSByYW5nZSBvdmVyZmxvd3MgdGhlIHJhaWwncyBib3JkZXIuXHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFuZ2UtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAvLyBUbyBvdmVybGFwIHRoZSByYW5nZSBjb2xvdXJpbmcgb3ZlciB0aGUgcmFpbCdzIGJvcmRlci5cclxuICAgICYudWktc2xpZGVyLXJhbmdlLW1pbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudWktc2xpZGVyLXJhbmdlLW1heCB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICByaWdodDogLTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVpLXNsaWRlci1ob3Jpem9udGFsIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi8vIC0tLS0tIEVycm9yIGNvbnRhaW5lciAtLS0tLSBcclxuLnNsaWRlci1lcnJvcnMge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDI1cHggM3B4IDVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9ICAgIFxyXG59IiwiXHJcbltkYXRhLXRvb2x0aXBdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuc3Bhbi50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBoZWxwO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAgLy8gZGlzYWJsZXMgdGhlIGlPUyBjYWxsb3V0IG1lbnVcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAgIC8vIGRpc2FibGVzIHRleHQgc2VsZWN0aW9uXHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7ICAvLyBib251czoga2lsbHMgdGhlIHRhcCBmbGFzaC5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgaW5mbyk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6ICgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAtIDUpICgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAtIDIpO1xyXG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWluZm8taWNvbi1zaXplO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxufVxyXG5cclxuLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8vIE5lZWQgdG8gc2V0IGJhc2VsaW5lIGlmIG11bHRpcGxlIHRleHQgc3RyaW5ncyB3cmFwcGVkIGluIGh0bWwgZWxlbWVudHMgdG8gZW5zdXJlIHRoZXkgYWxsIGZvbGxvdyB0aGUgc2FtZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgKCBpLmUgU09IIG5vdGlmaWNhdGlvbnMgKS5cclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIC8vIFN1cHByZXNzaW5nIGR1ZSB0byBoYXZlIGEgdG9vbHRpcCBkaXJlY3RseSB1bmRlciBhbmQgaW5zdGFuY2UgY2F1c2UgdGhlIGJ1dHRvbnMgdG8gb3ZlcmxhcCB0aGUgY29udGVudCBhcmVhLlxyXG4gICAgLy8gei1pbmRleDogNTAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJi53YXJuaW5nLCAmLmFsZXJ0IHtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZSwgbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLCBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSkpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsICR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemUsICBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpKTtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhdGUtaW5kaWNhdG9yIHtcclxuICAgICAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdW5yZWFkLXN0YXRlLW9uKTtcclxuICAgICAgICAgICAgICAgIC8vIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAkYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldDogOHB4O1xyXG5cclxuICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBvdmVyZmxvd2luZyBsZWZ0IHRoZW4gb3ZlcnJpZGUuXHJcbiAgICAmLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxpZ24tbGVmdCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIG92ZXJmbG93aW5nIHJpZ2h0IHRoZW4gb3ZlcnJpZGUuXHJcbiAgICAmLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tbGVmdCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgLy8gQWRkaW5nIHRoZSB0aXAgdG8gdGhlIHRvb2x0aXAuXHJcbiAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCAkdG9vbHRpcC1jb250ZW50LXRpcC1zaXplLCAkdG9vbHRpcC1jb250ZW50LWJvcmRlciwgJHRvb2x0aXAtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vLyBUbyBzdG9wIHRoZSBjb250ZW50IGZyb20gZmxhc2hpbmcgb24gcGFnZSBsb2FkLlxyXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcbi50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSB0b29sdGlwLWNvbnRlbnQtcG9zaXRpb25pbmcoKTtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAvL3RvcDogKCR0b29sdGlwLWluZm8taWNvbi1zaXplICogMyk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICN7JHRvb2x0aXAtY29udGVudC10aXAtc2l6ZX1weDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1jb250ZW50LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGJvcmRlcjogI3skdG9vbHRpcC1jb250ZW50LWJvcmRlci13aWR0aH1weCBzb2xpZCAkdG9vbHRpcC1jb250ZW50LWJvcmRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpLCBhLCBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdG9vbHRpcC1jb250ZW50LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdG9vbHRpcC1jb250ZW50LWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gUmVhZCBtb3JlIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gUmV2ZWFsaW5nIGFkZGl0aW9uYWwgbWFya3VwLCB0aGlzIGNhbiBpbmNsdWRlIHRleHQgb3IgaW1hZ2VzLlxyXG4tIEhvdyB0aGUgZmFkZSAvIGdyYWRpYW50IGdldHMgdXNlZCB3aGVuIGN1dHRpbmcgb2YgdGhlIG92ZXJmbG93aW5nIGNvbnRlbnQuXHJcbiovXHJcblxyXG4ucmVhZC1tb3JlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICYuY29udGFpbmVyLWNhbGN1bGF0aW9uLXdhaXRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgLy8gb3ZlcnJpZGUgY2xvc2VkIGhlaWdodC5cclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWRNb3JlQnV0dG9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLW9wZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tb2JpbGUtb25seSB7XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1vYmlsZS1vbmx5IHtcclxuICAgICAgICAucmVhZE1vcmVCdXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJltybS1yZXZlYWw9dHJ1ZV0ge1xyXG4gICAgLy8gICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xyXG4gICAgLy8gfVxyXG4gICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLnJlYWRNb3JlQnV0dG9uIHtcclxuICAgICAgICAvLyBMZXR0aW5nIHRoaXMgZmFsbCBuYXR1cmFsbHkgb24gdGhlIHBhZ2UuXHJcbiAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAyNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtY2xvc2VkKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4ucmVhZC1tb3JlIHtcclxuICAgIC8vIFJ1bGVzIHRvIHNob3cgZmFkZS5cclxuICAgIC8vIElmIHRoZSBmYWRlIGlzIG5vdCBkaXNhYmxlZCBieSB0aGUgSlMgZHVlIHRvIGxvdyBjb250ZW50LlxyXG4gICAgJjpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgICAgICAvLyBJZiB0aGlzIGlzIGEgcmVhZCBtb3JlIGVsZW1lbnQgdGhhdCBhbGxvd3MgdGhlIGZhZGUgZWZmZWN0IGFuZCBub3QganVzdCB1c2luZyB0aCByZXZlYWwgZnVuY3Rpb25hbGl0eS5cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoaXMgaXMganVzdCBhIG1vYmlsZSBvbmx5IHJlYWQgbW9yZSBkdWUgdG8gbGFyZ2UgYW1vdW50cyBvZiBjb250ZW50IGJ1dCBsb29rcyBvayBvbiBkZXNrdG9wLlxyXG4gICAgICAgICYubW9iaWxlLW9ubHkgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBhY3RpdmUgdGhlbiBkaXNhYmxlIGZhZGUuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50LmNvbnRlbnQtdHJ1bmNhdGUtZW5hYmxlZCB7XHJcbiAgICAgICAgICAgICYgPiBwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAgICAgLy8gQXMgMTcuMTAuMjAyNSB0aGVyZSBpcyBubyBvZmZpY2lhbCBzdXBwb3J0IGxpbmUtY2xhbXAgaW4gQ1NTJ3Mgc3BlYyBidXQgaGFzIGdvb2QgZ2VuZXJhbCBicm93c2VyIHN1cHBvcnQgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2xpbmUtY2xhbXAuXHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IHZhcigtLXJlYWQtbW9yZS1saW5lLWNsYW1wKTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiBub3QgbW9iaWxlIG9ubHkuXHJcbiAgICAvLyAmOm5vdCguYWN0aXZlKTpub3QoLm1vYmlsZS1vbmx5KTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcclxuICAgIC8vICAgICAvLyBJZiBmYWRlIGlzIG5vdCBkaXNhYmxlZC5cclxuICAgIC8vICAgICAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gSWYgbW9iaWxlIG9ubHkuXHJcbiAgICAvLyAmOm5vdCguYWN0aXZlKS5tb2JpbGUtb25seSB7XHJcbiAgICAvLyAgICAgLy8gSWYgZmFkZSBpcyBub3QgZGlzYWJsZWQuXHJcbiAgICAvLyAgICAgLnJlYWQtbW9yZS1jb250ZW50Om5vdCgubm8tZmFkZSkge1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkZGVmYXVsdC1ybS1mYWRlLW9wYWNpdHkpO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfSAgIFxyXG4gICAgLy8gQmVmb3JlIGluaXRpYWxpc2F0aW9uIGhpZGUgY29udGVudCB0byBwcmV2ZW50IGNvbnRlbnQgZnJvbSBmbGFzaGluZyB1cC5cclxuICAgICY6bm90KFtybS1pZF0pIHtcclxuICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH0gXHJcbn1cclxuXHJcbiIsIi8qXHJcbi0tLS0tIEF1dG8gQ29tcGxldGUgKCBQcmVkaWN0aXZlIFNlYXJjaCApIC0tLS0tLSBcclxuVGhlIGRyb3Bkb3duIHlvdSBzZWUgd2hlbiB5b3Ugc3RhcnQgdHlwaW5nIGluIGEgcXVlcnkgd2l0aGluIHRoZSBzZWFyY2ggYmFyIGluIHRoZSBoZWFkZXIuXHJcbiovXHJcblxyXG5cclxuI2hlYWRlclNlYXJjaEZvcm0gLmFjLXJlc3VsdHMge1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRhYy1yZXN1bHRzLXBhZGRpbmcsIHRvcCkgbWFwLWdldCgkYWMtcmVzdWx0cy1wYWRkaW5nLCBzaWRlKSBtYXAtZ2V0KCRhYy1yZXN1bHRzLXBhZGRpbmcsIGJvdHRvbSk7XHJcbiAgICA+IHVsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYWMtcmVzdWx0cy13aWR0aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDYlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYWMtcmVzdWx0cy1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB6LWluZGV4OiA1MDAwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hYy1yZXN1bHRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gSW5jcmVhc2VkIHotaW5kZXggdG8gYmUgb250b3Agb2YgYmFza2V0IHN1bW1hcnkuXHJcbiAgICAgICAgei1pbmRleDogMjAwMDAxO1xyXG4gICAgfVxyXG4gICAgLy8gT3BlbmluZyBhbmQgY2xvc2luZy5cclxuICAgICYuc2Nyb2xsZXIge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgPiB1bCwgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6ICRoZWFkZXItc2VhcmNoLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWMtY29sbGVjdGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgcGFkZGluZzogJGFjLXRpdGxlLWNvbGxlY3Rpb24tcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhYy10aXRsZS1jb2xsZWN0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgQGlmIChzbW9vdGgtZWRnZXMoJGFjLXRpdGxlLWNvbGxlY2l0b24tYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGFjLXRpdGxlLWNvbGxlY2l0b24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRhYy10aXRsZS1jb2xsZWN0aW9uLWJvcmRlcikge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cjtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgLmFjLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGFjLXRpdGxlLWNvbGxlY3Rpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRhYy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBAaWYgKCRhYy10aXRsZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LWZhbWlseTogJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbiAgICAudmlldy1hbGwge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtdmlldy1hbGwtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWMtdmlldy1hbGwtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy12aWV3LWFsbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGF1dG8tY29tcGxldGUtdmlldy1hbGwpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy12aWV3LWFsbC1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcbi5hYy10aXRsZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAkYWMtdGl0bGUtbWFyZ2luO1xyXG4gICAgZm9udC1zdHlsZTogJGFjLXRpdGxlLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJGFjLXRpdGxlLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICBAaWYgKCRhYy10aXRsZS1mb250LXNpemUpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy10aXRsZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGlmICgkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG59XHJcbi5hYy1pdGVtLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBhZGRpbmc6ICRhYy1pdGVtLWxpc3QtcGFkZGluZztcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAmLmNvbHVtbiB7XHJcbiAgICAgICAgLmFjLWl0ZW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpub3QoLmNvbHVtbikge1xyXG4gICAgICAgIC5hYy1pdGVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgJi5yb3cge1xyXG4gICAgICAgIC5hYy1pdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmFjLWl0ZW0ge1xyXG4gICAgbWFyZ2luOiAkYWMtaXRlbS1tYXJnaW47XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBhIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLCAuYWMtaXRlbS1tdWx0aW1lZGlhLWNvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhYy1pdGVtLWltYWdlLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGFjLWl0ZW0taW1hZ2UtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gbWFyZ2luOiAkYWMtaXRlbS1pbWFnZS1tYXJnaW47XHJcbiAgICAgICAgYm9yZGVyOiAkYWMtaXRlbS1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICAvLyBUb28gYWJpZ3VvdXMgbm93IHRoYXQgd2UgbmVlZCB0byBhbHNvIGRpc3BsYXkgcmVmZXJlbmNlIGFzIHdlbGwgYXMgZGVzY3JpcHRpb24uXHJcbiAgICAvLyBzcGFuIHtcclxuICAgIC8vICAgICBmbGV4LWJhc2lzOiAxMzBweDtcclxuICAgIC8vICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDAgMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAkYWMtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBAaWYgKCRhYy1pdGVtLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtaXRlbS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGFjLWl0ZW0tZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYWMtaXRlbS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWMtaXRlbS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGlmICgkYWMtaXRlbS1kZXNjcmlwdGlvbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGFjLWl0ZW0tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hYy1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGFjLWl0ZW0tY29udGVudC1nYXApKSB7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGFjLWl0ZW0tY29udGVudC1nYXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1yZWZlcmVuY2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhYy1pdGVtLXJlZmVyZW5jZS1jb2xvdXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLXNuaXBwZXQge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjLWl0ZW0tc25pcHBldC1jb2xvdXIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTZWFyY2ggY29udGFpbmVyIHdoZW4gcmVzdWx0IGhhdmUgYmVlbiBmb3VuZC5cclxuLmF1dG9jb21wbGV0ZS1yZXN1bHRzLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgLmFqYXgtc2VhcmNoIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBUaGUgY29udGFpbmVyIGZvciBlbnRpcmUgYXV0byBjb21wbGV0ZSBjb21wb25lbnRzLlxyXG4uYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MDBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hYy1yZXN1bHRzIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyBEb24ndCBoaWRlIG92ZXJmbG93IGR1ZSB0byB1c2luZyBib3gtc2hhZG93cy5cclxuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIC8vdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC5hYy1pdGVtLWxpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcbi8vIE9yaWdpbmFsIFNvdXJjZTpcclxuLy8gaHR0cHM6Ly9jb2RlcGVuLmlvL2lhbW51eHQvcGVuL2RSeEJYeFxyXG4vLyBodHRwczovL2NvZGVwZW4uaW8vaWFtbnV4dC9wZW4vdlpvSlBhXHJcblxyXG4uc2Ege1xyXG4gICAgd2lkdGg6ICgkc2EtZGltZW50aW9ucyArIDEwKTtcclxuICAgIGhlaWdodDogKCRzYS1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgbWFyZ2luOiAkc2EtbWFyZ2luO1xyXG4gICAgJi13YXJuaW5nIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkc2Etd2FybmluZy1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRzYS13YXJuaW5nLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBhbmltYXRpb246IHNjYWxlV2FybmluZyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgICAgICAgJjphZnRlcixcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC8vIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWJvZHkge1xyXG4gICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWRvdCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWVycm9yIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkc2EtYWxlcnQtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkc2EtYWxlcnQtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBhbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gLjVzO1xyXG4gICAgICAgICY6YWZ0ZXIsXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICB0b3A6IC0xN3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHRvcDogLTExcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNjBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi14IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlcjogNHB4IHNvbGlkICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC00cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtZml4IHtcclxuICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAyOHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1sZWZ0LFxyXG4gICAgICAgICYtcmlnaHQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1sZWZ0IHtcclxuICAgICAgICAgICAgbGVmdDogMTdweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVYTGVmdCAuNzVzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1yaWdodCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGFuaW1hdGVYUmlnaHQgLjc1cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEVycm9yIEFuaW1hdGlvbiAtLS0tLVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XHJcblxyXG4gICAgMCUsXHJcbiAgICA1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlLFxyXG4gICAgMTIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYTGVmdCB7XHJcblxyXG4gICAgMCUsXHJcbiAgICA2NSUge1xyXG4gICAgICAgIGxlZnQ6IDgycHg7XHJcbiAgICAgICAgdG9wOiA5NXB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICB0b3A6IDMzcHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgbGVmdDogMTdweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVhSaWdodCB7XHJcblxyXG4gICAgMCUsXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHJpZ2h0OiA4MnB4O1xyXG4gICAgICAgIHRvcDogOTVweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHJpZ2h0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICByaWdodDogMTZweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFdhcm5pbmcgQW5pbWF0aW9uICAtLS0tLVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZVdhcm5pbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nSW5zIHtcclxuICAgIDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIFN1Y2Nlc3MgdGlja1xyXG4uY2hlY2tfbWFyayB7XHJcbiAgICB3aWR0aDogKG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgd2lkdGgpICsgMTApO1xyXG4gICAgaGVpZ2h0OiAobWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCBoZWlnaHQpICsgMTApO1xyXG4gICAgbWFyZ2luOiAkc2EtbWFyZ2luO1xyXG59XHJcblxyXG4uc2EtaWNvbiB7XHJcbiAgICB3aWR0aDogbWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJHNhLXN1Y2Nlc3MtZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgIGJvcmRlcjogNHB4IHNvbGlkICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3Mge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSxcclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTIwcHggMCAwIDEyMHB4O1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgbGVmdDogLTMzcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XHJcbiAgICB0b3A6IC0xMXB4O1xyXG4gICAgbGVmdDogMzBweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwcHggNjBweDtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtcGxhY2Vob2xkZXIge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAvLyBib3JkZXI6IDRweCBzb2xpZCAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtNHB4O1xyXG4gICAgdG9wOiAtNHB4O1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtZml4IHtcclxuICAgIHdpZHRoOiA1cHg7XHJcbiAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDI4cHg7XHJcbiAgICB0b3A6IDhweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzLmFuaW1hdGU6OmFmdGVyIHtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50XFw5O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgXFw5O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBcXDk7XHJcbn1cclxuXHJcbi5hbmltYXRlU3VjY2Vzc1RpcCB7XHJcbiAgICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzVGlwIDAuNzVzO1xyXG59XHJcblxyXG4uYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NMb25nIDAuNzVzO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNjUlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICByaWdodDogNDZweDtcclxuICAgICAgICB0b3A6IDU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIHRvcDogMzVweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgICAgICByaWdodDogOHB4O1xyXG4gICAgICAgIHRvcDogMzhweDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcclxuICAgIDAlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDU0JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA3MCUge1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgdG9wOiAzN3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgbGVmdDogMjFweDtcclxuICAgICAgICB0b3A6IDQ4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgbGVmdDogMTRweDtcclxuICAgICAgICB0b3A6IDQ1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNTQlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDcwJSB7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBsZWZ0OiAyMXB4O1xyXG4gICAgICAgIHRvcDogNDhweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICBsZWZ0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgICAgdG9wOiAzOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lIHtcclxuICAgIGhlaWdodDogNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGxlZnQ6IDE0cHg7XHJcbiAgICB0b3A6IDQ2cHg7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcclxuICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgcmlnaHQ6IDhweDtcclxuICAgIHRvcDogMzhweDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMiUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEyJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBOb3RpZmljYXRpb25zICggQ2FsbG91dHMgKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIE9uIHBhZ2Ugbm90aWNhdGlvbnMgKCBubyBpdGVtcyBmb3VuZCApIFxyXG4tIEhlYWRlciBub3RpZmljYXRpb25zLlxyXG4tIENvb2tpZSBub3RpZmljYXRpb24uXHJcbi0gQ2FsbG91dHMgKCB0aGluZ3MgdGhhdCBzbGlkZSBvdXQgZnJvbSB0aGUgZWRnZWQgb2YgYSB3aW5kb3cgKSBcclxuLSBObyBKYXZhc2NyaXB0IG5vdGlmaWNhdGlvblxyXG4tIEJyb3dzZXIgY29tcGF0aWJsaXR5IG5vdGlmaWNhdGlvbiBcclxuXHJcbiovXHJcblxyXG4uaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAzNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpub3QoLmNsb3NlLWJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWxlcnQge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndhcm5pbmcge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oMjBweCwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jYWxsb3V0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIFRoZXNlIG5vcm1hbGx5IHNsaWRlIG91dCBmcm9tIHRoZSB0b3Agb3Igc2l6ZS5cclxuXHJcbi5jYWxsb3V0LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMzBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTk7XHJcbiAgICAmLnNpZGUge1xyXG4gICAgICAgIC5jYWxsb3V0IHtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIDAgMCBzbW9vdGgtZWRnZXMoKTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRub3RpZmljYXRpb24tY2FsbG91dC1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICAgICAgQGlmICgkbm90aWZpY2F0aW9uLWNhbGxvdXQtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRub3RpZmljYXRpb24tY2FsbG91dC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9ICAgXHJcbiAgICAgICAgLy8gRmFrZSBiYWNrZ3JvdW5kIHRvIHByZXZlbnQgd2hhdGV2ZXIgaXMgYmVoaW5kIHRoZSBub3RpZmljYXRpb24gc2hvd2luZyB0aHJvdWdoLlxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWxlcnQge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNXB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogNHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oMjBweCwgJGNvbG91cjMtMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoZXNlIGFyZSB0eXBpY2FsbHkgZW1iZWRkZWQgaW4gdGhlIG1haW4gY29udGVudC5cclxuLm9uLXBhZ2Utbm90aWZpY2F0aW9ucy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxufVxyXG4ub24tcGFnZS1ub3RpZmljYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCRuby1pdGVtcy1mb3VuZC1wYWRkaW5nLCAkbm8taXRlbXMtZm91bmQtbWFyZ2luLCAkbm8taXRlbXMtZm91bmQtZm9udC1zaXplLCAkbm8taXRlbXMtZm91bmQtaWNvbi1zaXplKTtcclxufVxyXG5cclxuXHJcbi5uby1pdGVtcy1mb3VuZC1jb250YWluZXIge1xyXG4gICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJG5vLWl0ZW1zLWZvdW5kLXBhZGRpbmcsICRuby1pdGVtcy1mb3VuZC1tYXJnaW4sICRuby1pdGVtcy1mb3VuZC1mb250LXNpemUsICRuby1pdGVtcy1mb3VuZC1pY29uLXNpemUpO1xyXG59XHJcblxyXG4uaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkaW50ZXJuYWwtZXJyb3ItcGFkZGluZywgJGludGVybmFsLWVycm9yLW1hcmdpbiwgJGludGVybmFsLWVycm9yLWZvbnQtc2l6ZSwgJGludGVybmFsLWVycm9yLWljcm9uLXNpemUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHsgXHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gT3ZlcnJpZGUgYWN0aXZlIGNsYXNzIGFzIHlvdSBhbHdheXMgd2FudCB0aGlzIHRvIGJlIGFjdGl2ZS5cclxuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLCAwLjkpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjE7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRpbnB1dC10cmFuc2l0aW9uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyAtLS0tLSBOb3RpZmljYXRpb25zIC0tLS0tIFxyXG4ubm90aWZpY2F0aW9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHotaW5kZXg6IDIwMDA7XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAkbm90aWZpY2F0aW9ucy16LWluZGV4O1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgM3M7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24taWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKSBhdXRvIDA7XHJcbiAgICAgICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbnMtaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub3RpZmljYXRpb25zLWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRub3RpZmljYXRpb25zLWljb24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gbGFyZ2UtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpIGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRub3RpZmljYXRpb25zLWljb24td2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTgwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IChzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcikgKyA1KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFtjbGFzcyQ9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBsYXJnZS12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgMnMsIG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgJHRyYW5zaXRpb25JbnRybywgbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRub3RpZmljYXRpb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUtdHJpZ2dlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSwgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHdhIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90aWZpY2F0aW9ucy1hcHAtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAmLmNvb2tpZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBJbWFnZSBPdmVybGF5cyAtLS0tIFxyXG5cclxuSW1hZ2Ugb3ZlcmxheXMgZm9yIGVzc2VudGlhbGx5IGhpZ2hsaWdodGVkIGl0ZW1zOlxyXG4tIFNwZWNpYWwgT2ZmZXJzXHJcbi0gRmVhdHVyZWQgSXRlbXNcclxuLSBCZXN0IFNlbGxlcnNcclxuLSBQcmV2aW91c2x5IFB1cmNoYXNlZFxyXG5cclxuVGhlc2Ugbm9ybWFsbHkgYXJlIHRoZSBzaXplIG9mIHRoZSBwcm9kdWN0IGltYWdlIHdoZXRoZXIgaXRzIG9uIGEgbGlzdGluZyBvciBwcm9kdWN0IHBhZ2Ugd2l0aCBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuXHJcblxyXG5XZSBhbGxvdyBmb3IgZGlmZmVyZW50IGltYWdlcyB0byBiZSBkaXNwbGF5ZWQgaWYgYSBncm91cCBpcyBtYXJrZWQgYXMgYSBoaWdobGlnaHRlZCBpdGVtIG9yIHdoZXRoZXIgaXRzIGFuIGluZGl2aWR1YWwgcHJvZHVjdC5cclxuXHJcbiovXHJcblxyXG4vLyBTdXBwcmVzcyBvdmVybGF5cyBpZiB5b3UncmUgb24gdGhlIGRlZGljYXRlZCBwYWdlLlxyXG4jc3BlY2lhbC1vZmZlcnMge1xyXG4gICAgLm92ZXJsYXkuc3RvY2suc3BlY2lhbE9mZmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiNmZWF0dXJlZC1pdGVtcyB7XHJcbiAgICAub3ZlcmxheS5zdG9jay5mZWF0dXJlZHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiNiZXN0LXNlbGxlcnMge1xyXG4gICAgLm92ZXJsYXkuc3RvY2suYmVzdFNlbGxlcntcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gU3BlY2lmaWNhbGx5IG5vdCBmb3IgY29tcGFjdCBjYXJvdXNlbHMgb3ZlcmxheSBwb3NpdGlvbmluZy5cclxuLmNvbnRlbnQtY29udGFpbmVyOm5vdCguY29tcGFjdCkge1xyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRpbWFnZS1vdmVybGF5LXBvc2l0aW9uO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDZW50ZXJhbGlzZSB0aGUgcHJvZHVjdCBvdmVybGF5IG92ZXIgdGhlIG1haW4gcHJvZHVjdCBpbWFnZS5cclxuI21haW5JbWFnZUNvbnRhaW5lciB7XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGltYWdlLW92ZXJsYXktcG9zaXRpb247XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmOmhhcyhpbWdbc3JjJD1cIi5wbmdcIl0pIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIC8vIEFsd2F5cyBzY2FsZSBkb3duIHRoZSBpbWFnZSB0byBmaXQgd2l0aGluIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAvLyBTVkcncyBtYXkgbm90IGhhdmUgYSB3aWR0aCAgYXR0cmlidXRlIHNldCwgc28gd2UgbmVlZCB0byBhc3N1bWUgdG8gc2NhbGUgdG8gdGhlIG1heCBhdmFpbGFibGUgd2lkdGguXHJcbiAgICAgICAgJltzcmMkPVwiLnN2Z1wiXSwgJltzcmMkPVwiLlNWR1wiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIC8vIEV4cGFuZCB0byAxMDAlIG9mIHRoZSBhdmFpbGFibGUgd2lkdGguXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIGNvbnRlbnQgaXMgYWxpZ25lZCBjZW50ZXIsIHlvdSBjYW5ub3QgcmVseSBvbiB0aGUgaW1hZ2UgYmVpbmcgcHJvdmlkZWQgYXQgdGhlIGNvcnJlY3Qgc2l6ZS5cclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAvLyBTZXR0aW5nIHNpemUgdG8gY29udGFpbiBvdGhlcndpc2UgaW1hZ2Ugd2lsbCBvdmVyZmxvdyB0aGUgcHJvZHVjdCBpbWFnZSBpbiBjYXJvdXNlbHMuXHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYuZ3JvdXAuc3BlY2lhbE9mZmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAnZ3JvdXAvc2FzaC1zcGVjaWFsLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHNwZWNpYWwtb2ZmZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdyb3VwLmZlYXR1cmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAnZ3JvdXAvc2FzaC1mZWF0dXJlZC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBmZWF0dXJlZC1pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ncm91cC5iZXN0U2VsbGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAnZ3JvdXAvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGJlc3Qtc2VsbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5zcGVjaWFsT2ZmZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgJ3Byb2R1Y3Qvc2FzaC1zcGVjaWFsLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgc3BlY2lhbC1vZmZlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2suZmVhdHVyZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdwcm9kdWN0L3Nhc2gtZmVhdHVyZWQtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBmZWF0dXJlZC1pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5iZXN0U2VsbGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICAncHJvZHVjdC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBiZXN0LXNlbGxlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RvY2sucHJldmlvdXNseS1wdXJjaGFzZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgJ3Byb2R1Y3Qvc2FzaC1wcmV2aW91c2x5LXB1cmNoYXNlZC5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgcHJldmlvdXNseS1wdXJjaGFzZWQpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJi5zdG9jay5jb250cmFjdC1pdGVtIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZS1vdmVybGF5LXVybCArICdwcm9kdWN0L3Nhc2gtY29udHJhY3QtaXRlbS5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlciwgY29udHJhY3QtaXRlbSk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufSIsIlxyXG5cclxuXHJcbltkYXRhLWNvdW50ZG93bi10aW1lXSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbi5jb3VudGRvd24tY29udGFpbmVyIHtcclxuICAgIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByb2R1Y3QtZW5xdWlyeS1kZWxpdmVyeS1jb3VudGRvd24pO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgN3B4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAuY291bnRkb3duLWRpc3BsYXksIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjb3VudGRvd24tZGlzcGxheS1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY291bnRkb3duLWRpc3BsYXktY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICYgKyAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZbY291bnRkb3duLXN0YXR1cz1hbGVydF0ge1xyXG4gICAgICAgIC5jb3VudGRvd24tZGlzcGxheSwgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY291bnRkb3duLWRpc3BsYXktY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJltjb3VudGRvd24tc3RhdHVzPXdhcm5pbmddIHtcclxuICAgICAgICAuY291bnRkb3duLWRpc3BsYXksIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvdW50ZG93bi1kaXNwbGF5LWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBUcmFuc2l0aW9ucyAtLS1cclxuICAgICYuY291bnRkb3duLWluYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuY291bnRkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgNXM7XHJcbiAgICB9XHJcbiAgICBcclxufSIsIlxyXG4vKlxyXG5cclxuLS0tLS0gUFdBICggUHJvZ3Jlc3NpdmUgV2ViIEFwcGxpY2F0aW9uICkgLS0tLS0gXHJcbi0gSW5zdGFsbGF0aW9uIHByb21wdC5cclxuXHJcbiovXHJcbiIsIi8qXHJcbi0tLS0tIFBheW1lbnQgTWV0aG9kcyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIEhvdyBwYXltZW50IG1ldGhvZHMgc3VjaCBvZiBvcGF5byBpZnJhbWUgbG9va3MgaW4gdGhlIGNoZWNrb3V0LlxyXG4qL1xyXG5cclxuLy8gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGUgc3BhY2luZyB3YXMgZmFpcmx5IGNvbnNpc3RlbnQgZHVlIHRvIGEgXCIgc2ltcGxpc2ggXCIgVUkgdGhpcyBtaWdodCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS5cclxuJHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZzogMjBweDtcclxuXHJcbi5wYXltZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgLy8gVGhlIDpub3QgY2hlY2sgd2FzIHB1dCBpbiBwbGFjZSBhcyB0aGVzZSBzdHlsZXMgY29uZmxpY3Qgd2l0aCBvbGQgQ1NTIHJ1bGVzLCBvbmNlIHdlIG1vdmUgYXdheSBmcm9tIG9sZCBvcGF5byBzZXJ2ZXIgZnJhbWVzIHRoaXMgY2hlY2sgY2FuIGdvIGFzIHdlbGwgYXMgdGhlIC5wYXltZW50LW1ldGhvZCBjbGFzcy4gXHJcbiAgICAmOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyB3aWR0aDogc21hbGwtdmFsdWUoJHBheW1lbnQtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICAvLyB3aWR0aDogNjAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gI3skcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nfTtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogJHBheW1lbnQtY29udGFpbmVyLWJvcmRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogbGFyZ2UtdmFsdWUoJHBheW1lbnQtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmOmhhcyguY29udGFpbmVyLXJlc2l6ZWQpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9sZCBPcGF5byBTZXJ2ZXIgUGF5bWVudCBtZXRob2QuXHJcbiAgICAucGF5bWVudC1tZXRob2Qge1xyXG4gICAgICAgIC8vIEFkZGluZyBvdmVyZmxvdy15IHByb3BlcnR5IHRvIHRoZSBwYXltZW50IG1ldGhvZCBjb250YWluZXIgYXMgYmVsdCBhbmQgYnJhY2VzIGlmIHRoZSBzY2FsaW5nIGZvciB0aGUgaGVpZ2h0IG9uIHRoZSBpZnJhbWUgZmFpbHMgdG8gc2NhbGUgdXAgZHVlIHRvIHBhcmVudCBjb250YWluZXIgaGVpZ2h0IHJlc3RyaWN0aW9ucy5cclxuICAgICAgICAkYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkcGF5bWVudC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6ICg1MDBweCArICgkYm9yZGVyLXdpZHRoICogMikpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBib3JkZXI6ICN7JGJvcmRlci13aWR0aH0gc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0LCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBkaXNwbGF5IHRvIHJlbW92ZSB3aGl0ZXNwYWNlIGF0IHRoZSBib3R0b20gb2YgdGhlIGZyYW1lLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgJiNvcGF5by1pZnJhbWUge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRwYXltZW50LW1ldGhvZC1pZnJhbWUtaGVpZ2h0LCBvcGF5byk7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDsgLy8gU2V0dGluZyBtaW4taGVpZ2h0IGR1ZSB0byBmb250LXNjYWxpbmcuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDbGFzc2VzIGZvciBPcGF5byBQSVxyXG4gICAgLnBpLWNhcmQtcGF5bWVudCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICYuc21hbGwge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWVkaXVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM5MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmxhcmdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmV4dHJhLWxhcmdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFeG1hcGxlIHRoZSBpZnJhbWUgdG8gYXZhaWxhYmxlIHNwYWNlLCB0aGlzIG1heSBnZXQgb3ZlcndyaXR0ZW4gYnkgT3BheW8ncyBKYXZhc2NyaXB0LlxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gUGF5bWVudCBNZXRob2QgU2VsZWN0b3IgLS0tLS1cclxuZm9ybSArIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4ucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIElmIG9ubHkgb25lIG9wdGlvbiB0aGVuIGhpZGUgdGl0bGUuXHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC1wYXltZW50IC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJkLXBheW1lbnQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXlwYWwgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXlwYWwpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5nb29nbGUtcGF5IHtcclxuICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBhYmlkZSBieSBHb29nbGUgQnJhbmQgZ3VpZGUgbGluZXMuLi5cclxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcGF5L2FwaS9hbmRyb2lkL2d1aWRlcy9icmFuZC1ndWlkZWxpbmVzI2dvb2dsZS1wYXktbG9nby1tYXJrXHJcbiAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogIDAgI3tzcGFjaW5nLXZhbHVlKCRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nLCAyLCBzbWFsbCl9IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTE1cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcycHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgZ29vZ2xlLXBheSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXBwbGUtcGF5IC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBhcHBseS1wYXkpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhcmQtcGF5bWVudCB7XHJcbiAgICAgICAgICAgICYub3BheW8ge1xyXG4gICAgICAgICAgICAgICAgLS1jb250YWluZXItZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICAtLWNvbnRhaW5lci1mb250LXNpemU6ICN7cmVtLWNhbGMoMTYpfTtcclxuICAgICAgICAgICAgICAgIC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGdhcDogI3skcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nfTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBdHRlbXB0aW5nIHRvIG1hdGNoIE9wYXlvJ3Mgc3R5bGVzIGZvciBzYXZlIGNhcmQgcHJvbXB0LlxyXG4gICAgICAgICAgICAuY29udHJvbC5jaGVja2JveCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICAgICAgICAgICYuY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgICAgIC5jaGVja2JveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNvbnRhaW5lci1mb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jb250YWluZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAkcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICAvLyBib3JkZXI6ICRwYXltZW50LWNvbnRhaW5lci1ib3JkZXI7XHJcbiAgICAgICAgICAgICYgKyAucGF5bWVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHBheW1lbnQtY29udGFpbmVyLWVsZW1lbnQtc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygje2xhcmdlLXZhbHVlKCRmaWVsZC1sYWJlbC13aWR0aCl9ICsgI3skY2hlY2tib3gtZGltZW50aW9uc30pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGF5cGFsLWJ1dHRvbiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNhcmQtZnJhbWUtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59IiwiXHJcbi8qKlxyXG5cclxuLS0tLSBTb2NpYWwgTWVkaWEgSWNvbnMgLS0tLSBcclxuXHJcbldoZXJlIHRoZXNlIGdldCB1c2VkOlxyXG4tIE9uIHRoZSBwcm9kdWN0IHBhZ2UgdG8gc2hhcmUgYSBza3Ugb24gZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmc6XHJcbiAgICAtIEZhY2Vib29rXHJcbiAgICAtIFR3aXR0ZXJcclxuICAgIC0gTGlua2VkSW4gXHJcbiAgICAtIEVtYWlsXHJcbi0gSW4gdGhlIGZvb3RlciB0byB0YWtlIHRoZSB1c2VyIHRvIHRoZSBvcmdhbmlzYXRpb24ncyBzb2NpYWwgbWVkaWEgcGFnZXNcclxuLSBUaGVyZSBhcmUgdHdvIGNvbG91ciBtb2RlczpcclxuICAgIC0gc2l0ZS1zcGVjaWZpYzogbWF0Y2hlcyB0aGUgY3VzdG9tZXIncyBzaXRlIGJyYW5kaW5nLlxyXG4gICAgLSBzb2NpYWwtYnJhbmRpbmc6IGZvbGxvd3MgdGhlIGJyYW5kIGd1aWRlbGluZXMgb2YgZWFjaCBzb2NpYWwgcGxhdGZvcm0uXHJcblxyXG4qKi9cclxuXHJcblxyXG4uc29jaWFsLWljb25zLWhlYWRpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAkY29sb3VyNDtcclxufVxyXG5cclxuLnNvY2lhbC1pY29ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICYucHJvZHVjdCwgJi5tb2R1bGUge1xyXG4gICAgICAgIC8vIGJlY2F1c2UgcHJvZHVjdCBwYWdlIG1vZHVsZXMgZG9udCBoYXZlIGEgaWNvbnMtY29udGFpbmVyLlxyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1zb2NpYWwtaWNvbnMtbWFyZ2luO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxvYXQ6ICRwcm9kdWN0LXNvY2lhbC1pY29ucy1mbG9hdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJldmlldyB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgIH1cclxuICAgICYuZm9vdGVyIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnkgPT0gXCJmbGV4LWVuZFwiIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLCBtYWtlIHN1cmUgaWNvbiBjb2xvdXJzIGRvIG5vdCBjb25mbGljdCB3aXRoIGZvb3RlciBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIEBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kIGFuZCAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gXCJzaXRlLXNwZWNpZmljXCIge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0XHJcbiAgICAgICAgICAgICRmb290ZXItc29jaWFsLWljb24tZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgLy8gSG92ZXJcclxuICAgICAgICAgICAgJGZvb3Rlci1zb2NpYWwtaWNvbi1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItc29jaWFsLWljb25zLWNvbG91ciwgaG92ZXIpLCAkZm9vdGVyLXNvY2lhbC1pY29uLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICAvLyBBY3RpdmUuXHJcbiAgICAgICAgICAgICRmb290ZXItc29jaWFsLWljb24tYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLXNvY2lhbC1pY29uLWhvdmVyKTtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgYmFja2dyb3VuZCBzdHlsZXMgZHVlIHRvIHN1cHByZXNzaW5nIHRoZSBiYWNrZ3JvdW5kIGZsYWcgYmVpbmcgc2V0LlxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb24tZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb24taG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRmb290ZXItc29jaWFsLWljb24tYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMjApO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAoJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zICsgMjApO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkc29jaWFsLWljb25zLXNpemUgKyAyMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJHNvY2lhbC1pY29ucy1zaXplICsgNSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcblxyXG4gICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgIC8vIERlZmF1bHRcclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgZGVmYXVsdCksIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgICAgIC8vIEhvdmVyXHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBob3ZlciksIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuICAgICAgICAvLyBBY3RpdmVcclxuICAgICAgICAkYWN0aXZlLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSkpO1xyXG5cclxuICAgICAgICB3aWR0aDogJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgIGhlaWdodDogJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc29jaWFsLWljb25zLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvIGlmKCRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eSwgI3tcIixcIn0gb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvLCBcIlwiKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNvY2lhbC1pY29ucy1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lQnJhbmRzO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmICgkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm8gaWYoJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5LCAje1wiLFwifSBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm8sIFwiXCIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5mYWNlYm9vayB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTg3N2YyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4NzdmMjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMTg3N2YyLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdmYWNlYm9vaycpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxODc3ZjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50d2l0dGVyIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMxREExRjI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMxREExRjIsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ3R3aXR0ZXInKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMURBMUYyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGlua2VkSW4ge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzBBNjZDMjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQTY2QzI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzBBNjZDMiwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignbGlua2VkSW4nKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMEE2NkMyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zdGFncmFtIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q2MjQ5ZjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAxMDclLCAjZmRmNDk3IDAlLCAjZmRmNDk3IDUlLCAjZmQ1OTQ5IDQ1JSwjZDYyNDlmIDYwJSwjMjg1QUVCIDkwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignaW5zdGFncmFtJyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi55b3V0dWJlIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGRjAwMDAsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ3lvdXR1YmUnKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ29vZ2xlLXBsdXMsICYuZ29vZ2xlX3BsdXMge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0ZGMDAwMCwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignZ29vZ2xlLXBsdXMnKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZW1haWwge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignZW1haWwnKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAuc29jaWFsLWljb25zIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmLnJldmVhbC1uZXh0LXRvLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICYgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZXZlYWwtb3Zlci10b2dnbGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZXZlYWwtY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKDIwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4uc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XHJcbiAgICAuc2hhcmUtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ3NoYXJlJyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciwgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUsICY6YWN0aXZlOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciAoIFByaW50ZXIgd2l6YXJkICkgLS0tLS0tIFxyXG4tIFRoZSBlcXVpcG1lbnQgc2VsZWN0b3IgZHJvcCBkb3duIHNlbGVjdGlvbi5cclxuLSBFcXVpcG1lbnQgc2VsZWN0b3IgbGlzdCB3aGljaCBpcyBlc3NlbnRpYWxseSBhIGxpc3Qgb2YgYW5jaG9ycy5cclxuKi9cclxuXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGlmICRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1lbmFibGUtZ3JhZGllbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjQsIDEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMSksIDEpIDUlLCByZ2JhKG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMiksIDEpIDY1JSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTEpO1xyXG4gICAgfVxyXG4gICAgQGlmICRlcXVpcG1lbnQtc2VsZWN0b3ItYm94LXNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGVxdWlwbWVudC1zZWxlY3Rvci1ib3gtc2hhZG93O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgIGNvbG9yOiAkZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctY29sb3VyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3JzIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGxhYmVsLmNvbnRyb2wge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgIFxyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0ICggdGhpcyBzaXRzIHVuZGVyIHRoZSBkcm9wZG93biBzZWxlY3RvcnMgKSAtLS0tLSBcclxuLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcclxuICAgIG1hcmdpbi10b3AgOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgLy8gRGVkdWN0IHRoZSBsaXN0IGl0ZW0gcGFkZGluZyBmcm9tIHRoZSBtYXJnaW4gb3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgYSBsYXJnZSBhbW91bnQgb2Ygd2hpdGVzcGFjZSBiZWVuIHRoZSBoZWFkaW5nIGFuZCBsaXN0IGl0ZW1zLlxyXG4gICAgICAgIG1hcmdpbjogMCAwIChzcGFjaW5nLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0xKSwgMykgLSAkZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QtaXRlbS1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRlcXVpcG1lbnQtc2VsZWN0b3ItbGlzdC1pdGVtLXBhZGRpbmcgMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gUGljayAmIE1peCAtLS0tLS0gXHJcbi0gQSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgaXRlbXMgdG8gY3JlYXRlIGEgcGFjay5cclxuKi9cclxuXHJcbi5waWNrLW4tbWl4LWNvbnRhaW5lciB7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIGlzIGNhdXNpbmcgdW5ldmVuIHNwYWNpbmcgZm9yIG1vZHVsZXMuXHJcbiAgICAvLyBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGljay1uLW1peC1wYWRkaW5nKTtcclxuICAgIEBpZiAkcGljay1uLW1peC1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyNCwgMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0xKSwgMSkgNSUsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0yKSwgMSkgNjUlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcGljay1uLW1peC1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUGljayAmIE1peCBIZWFkZXIgLS0tLS1cclxuLnBpY2stbi1taXgtaGVhZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGljay1uLW1peC1oZWFkaW5nLXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGljay1uLW1peC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyO1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1jb2xvdXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwaWNrLW4tbWl4LWhlYWRlci1iYWNrZ3JvdW5kLXBhZGRpbmcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHBpY2stbi1taXgtaGVhZGVyLWJhY2tncm91bmQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMTsgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBpY2sgJiBNaXggc2VsZWN0b3JzICggbWFpbiBjb250ZW50ICkgLS0tLS1cclxuLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAucGljay1uLW1peC1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogNy41cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBpY2stbi1taXgtaXRlbS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWRlciB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsZXg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBpY2stbi1taXgtdG90YWwtcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMi41cHg7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LXNlbGVjdG9yLWRlc2NyaXB0aW9uLWNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyLCAucmVtYWluaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNy41cHggMDtcclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBzcGFjaW5nLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4sIDIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBzcGFjaW5nLXZhbHVlKCRwaWNrLW4tbWl4LXNsaWRlci1tYXJnaW4sIDIsICdsYXJnZScpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWxlY3RlZC1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIFRvIGJyaW5nIHRoZSBjb3VudCBpbmxpbmUgd2l0aCB0aGUgcXVhbnRpdHkgc2VsZWN0b3JzXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZW1haW5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLnJlbWFpbmluZy1jb3VudC1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVtYWluaW5nLWNvdW50IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBidXR0b25bdHlwZT1zdWJtaXRdIHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZvciBtb2JpbGUgZGV2aWNlcy5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ3RoOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gV2hlbiB0aGUgc2xpZGVyIGlzIGFjdGl2ZSBhIGNsYXNzIGdldHMgYWRkZWQgdG8gdGhlIHJlbGV2YW50IGlucHV0LlxyXG5pbnB1dC51aS1zdGF0ZS1hY3RpdmUsIC5pbnB1dC1udW1iZXIudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hvZGF3ICR0cmFuc2l0aW9uSW50cm87XHJcbn1cclxuXHJcbi8vIElmIHlvdSBoYXZlIHNvbWUgbGVhZCBpbiB0ZXh0LlxyXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nLCAxKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcsIDEsIG1lZGl1bSk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUHJvZHVjdCBsaXN0IGVkaXQgYnV0dG9uIC0tLS0gXHJcbiNwcm9kdWN0TGlzdEl0ZW1zIHtcclxuICAgICYubGlzdCB7XHJcbiAgICAgICAgLnBpY2stbi1taXgtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pdGVtLWNvbnRyb2xzLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQmFza2V0IHN0eWxlcyAtLS0tLSBcclxuLy8gLS0tIERpc3BsYXkgc2VsZWN0aW9uIC0tLSBcclxuLnBpY2stbi1taXgtc2VsZWN0aW9uIHtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgbGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG59IiwiLyogXHJcblxyXG4tLS0tLSBBbmltYXRpb25zIC0tLS0tIFxyXG5UT0RPOiBUaGlzIGlzIHRoZSB2ZXJ5IGZpcnN0IGRldiBjeWNsZSBvZiBqdXN0IHRyaW5nIHRvIGdldCBIVE1MNSBDYW52YXMncyBleHBvcnRlZCBmcm9tIGFkb2JlIGFuaW1hdGUgdG8gd29yayBpbnNpZGUgb2YgZXhwcmVzcyBhbmQgdG8gaGF2ZSBtdWx0aXBsZSBhbmltYXRpb25zIG9uIHRoZSBwYWdlIGF0IG9uY2UsIHNvIHRoZXJlIGlzIHN0aWxsIG11Y2ggd29yayB0byBiZSBkb25lIGhlcmUgaXRzIG1vcmUgb2YgYSBwcm9vZiBvZiBjb25jZXB0IGF0IHRoaXMgcG9pbnQuXHJcbi0gQW5pbWF0ZWQgSFRNTDUgQ2FudmFzJ3NcclxuLSBJbnRlcmFjdGl2ZSBBbmltYXRpb25zLlxyXG4qL1xyXG5cclxuXHJcbmNhbnZhcyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn0iLCJcclxuXHJcbi5jbGllbnQtc2VhcmNoLW5vLXJlc3VsdHMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gVG9wIGJhciAtLS0tLVxyXG5UaGlzIGhhcyBoYWQgdG8gYmUgd3JpdHRlbiBkdWUgdG8gZm91bmRhdGlvbidzIHRvcC1iYXIgY3VycmVudGx5IGRvZXNuJ3Qgc3VwcG9ydCBjZW50ZXJlZCBpdGVtcywgeW91IG9ubHkgZ2V0IHRoZSBvcHRpb24gdG9wLWJhci1sZWZ0ICYgdG9wLWJhci1yaWdodCwgdGhlIGRlc2lnbiBjYWxscyBmb3IgdGhlIGN1cnJlbmN5IHNlbGVjdG9yIHRvIGJlIGluIHRoZSBtaWRkbGUuXHJcbiovXHJcblxyXG4udG9wLWJhciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgJi51cHBlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4gICAgICAgIC8vIGhlaWdodDogNDBweDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1sZWZ0LCAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICA+dWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkaGVhZGVyLXVwcGVyLXBhZGRpbmcsIDEpIDE1cHg7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1jZW50ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEhlYWRlciBVcHBlciBjb2xvdXIgY29udHJhc3QgcHJvY2Vzc2luZyAtLS0tLSBcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkbWVudS1jb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRtZW51LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBob3ZlciksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJG1lbnUtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItdXBwZXItY29sb3VyLCBhY3RpdmUpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAubWVudSwgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIC8vIFNvIGl0IGFwcGVhcnMgYWJvdmUgdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuICAgICAgICAvLyB6LWluZGV4OiAxMDAwMDA7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6ICRoZWFkZXItdXBwZXItcGFkZGluZztcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXVwcGVyLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkaGVhZGVyLXVwcGVyLWZvbnQtc3R5bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItdXBwZXItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci11cHBlci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItdXBwZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci11cHBlci10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItdXBwZXItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2l0ZS1zZXR0aW5nLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIGJpdCBoZWF2eSBoYW5kZWQgYW5kIG1heSBuZWVkIHRvIGJlIG1hZGUgbW9yZSBmbGV4aWJsZSBpbiB0aGUgZnV0dXJlIGJ1dCBqdXN0IG1ha2luZyBzdXJlIHRoYXQgYnV0dG9uIC8gdGV4dCBjb2xvdXIgaXMgbGVnaWJsZSAmIGNvbnNpc3RlbmN5LlxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiN0b3BCYXJVcHBlck91dGVyQ291bnRhaW5lciwgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XHJcbiAgICBAaWYgJGhlYWRlci11cHBlci1ncmFkaWFudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci11cHBlci1ncmFkaWFudDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpZiAkaGVhZGVyLXVwcGVyLWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXVwcGVyLWJvcmRlci13aWR0aDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRoZWFkZXItdXBwZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIlxyXG5cclxuQG1peGluIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoJGNvbG91ci1uYW1lLCAkY29sb3Vycykge1xyXG4gICAgLy8gQ2hlY2sgaWYgdmFyaWFibGUgZXhpc3QuXHJcbiAgICBAaWYgbm90ICh2YXJpYWJsZS1leGlzdHMoJGNvbG91ci1uYW1lKSkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbG91ciBtYXAgXCIgI3skY29sb3VyLW5hbWV9IFwiIGRvZXNuJ3QgZXhpc3QgZm9yIHNpdGUgI3skc2l0ZX1cIjtcclxuICAgIH1cclxuICAgIEBlYWNoICRsaWdodG5lc3MsICRjb2xvdXIgaW4gJGNvbG91cnMge1xyXG4gICAgICAgIC4jeyRjb2xvdXItbmFtZX0tbGlnaHRuZXNzLSN7JGxpZ2h0bmVzc30ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNnLXBhZ2UtaGVhZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMzVweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDE1cHggMTVweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1oZWFkaW5nIHtcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAjNWY3YjI3O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaW50cm8ge1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbn1cclxuXHJcbi5zZy1zdWItaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGNvbG9yOiAjNWY3YjI3O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1zdWItZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnNnLWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIzLTU7XHJcbn1cclxuXHJcbi5zZy1kZW1vLWxpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxyXG4uY3NzLXByb3BlcnR5LXZpZXcge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogM3B4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcCxcclxuICAgIGxpIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0taW5mby1sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaXRlbS1zZXBlcmF0b3Ige1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbn1cclxuXHJcbi5zZy1jZWxsLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMTBweCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG59XHJcblxyXG4uc2ctY29sb3VyLXBhbGV0dGUge1xyXG4gICAgLmdyaWQtY29sbGVjdGlvbi14IHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2xvdXItYmxvY2sge1xyXG4gICAgJGNvbG91ci1ibG9jay1tYXJnaW46IDVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46ICRjb2xvdXItYmxvY2stbWFyZ2luIDA7XHJcbiAgICBwYWRkaW5nOiA4cHggOHB4IDZweDtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6ICRjb2xvdXItYmxvY2stbWFyZ2luO1xyXG4gICAgICAgIGxlZnQ6ICRjb2xvdXItYmxvY2stbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuXHJcbiAgICBbZGF0YS1jb2xvdXItcHJldmlld10ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40Mjg1N3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyLWhleC1sYWJlbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMlxyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy00IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy00O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy03IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy03O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtMyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtMztcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC00IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC00O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC03IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC03O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI2IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNi0xIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNi0xO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI2LTIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2LTI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItMVwiLCAkYWNjZW50LWNvbG91ci0xKTtcclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTJcIiwgJGFjY2VudC1jb2xvdXItMik7XHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci0zXCIsICRhY2NlbnQtY29sb3VyLTMpO1xyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItNFwiLCAkYWNjZW50LWNvbG91ci00KTtcclxuXHJcbiAgICAuc3VjY2Vzcy1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAud2FybmluZy1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAuYWxlcnQtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcmljZS1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmljZS1jb2xvdXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNhdmluZy1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYXZpbmdzLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAucnJwLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1idXR0b25zIHtcclxuICAgIC5zZy1jb21wYXJpc29uLXRhYmxlIC5hY3Rpb24tYnV0dG9uIHtcclxuICAgICAgICAvLyBGb3JjZSB0aGUgYWxpZ25tZW50IGluIHRoZSBjb250ZXh0IG9mIHRoZSBzdHlsZVxyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnN7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tdHlwZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJiArIC5ub3RpZmljYXRpb24tc3R5bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLXN0eWxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uc2ctcXVhbnRpdHktc2VsZWN0b3JzIHtcclxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIHtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctY2FsbG91dHMge1xyXG4gICAgLmNhbGxvdXQtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1jb21wYXJpc29uLXRhYmxlIHtcclxuICAgIHRoIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRkIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiN0YWJsZS1vZi1jb250ZW50cy1zdGlja3ktY29udGFpbmVyIC5zdGlja3kge1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLnRhYmxlLW9mLWNvbnRlbnRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIH1cclxuICAgIC5oZWFkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjNWY3YjI3O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlY3Rpb25zIHtcclxuICAgICAgICAvLyBRdWljayBhbmQgZGlyZWN0eSBzb2x1dGlvbiBhcyBmb3VuZGF0aW9uJ3Mgc3RpY2sgaXMgY2FsY3VsYXRpbmcgdGhlIGhlaWdodCBvZiB0aGUgc3RpY2t5IGNvbnRhaW5lciBiYXNlZCBvbiB0aGUgY29udGVudCB3aGljaCBnb2VzIG9mZiB0aGUgdmlld3BvcnQgZHVlIHRvIHRoZSBzdGlja3kgaGVhZGVyLCB0aGlzIHdpbGwgbmVlZCBxdWl0ZSBhIGJpdCBvZiB3b3JrIHRvIHRha2UgdGhlIHN0aWNreSBoZWFkZXIgaW50byBhY2NvdW50IHdoaWNoIGN1cnJlbnRseSB3ZSBkb250IGhhdmUgdGltZSBmb3IuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNnMgZWFzZS1pbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVmM2IzNjU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNnMgZWFzZS1pbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNHMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIFRoaXMgc3R5bGVzIHRoZSBleGFtcGxlIHJvd3MgdXNlZCBpbiB0aGUgZ3JpZCBkb2N1bWVudGF0aW9uLiAqL1xyXG4uZ3JpZC14LmRpc3BsYXkge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XHJcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbDpudGgtY2hpbGQoMiksXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5zbWFsbC1jZW50ZXJlZCxcclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmxhcmdlLWNlbnRlcmVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNlMWUxZTE7XHJcbn1cclxuXHJcbi5ncmlkLXguZGlzcGxheSAuY2VsbC5jb2xvci1lbmQge1xyXG4gICAgYmFja2dyb3VuZDogI2Q0ZDRkNDtcclxufVxyXG5cclxuLnNnLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgcGFkZGluZzogMnJlbTtcclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTQwMHB4O1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIucGFkZGVkIHtcclxuICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IGEge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW47XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUgYTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51IGE6Zm9jdXMge1xyXG4gICAgYmFja2dyb3VuZDogIzE0NjhhMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2ctc2lkZS1tZW51Lm1lbnUge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XHJcbn0iLCIvKlxyXG4tLS0tLSBBZG1pbiAtLS0tLVxyXG5UaGlzIHdpbGwgcG90ZW50aWFsIGhhbmQgdm1BZG1pbiB2Mi5cclxuKi9cclxuXHJcblxyXG5cclxuLnZtYWRtaW4tZWRpdG9yIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjA7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmlubGluZS1lZGl0b3Ige1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IC0zMHB4O1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jay1jb250ZW50IHtcclxuICAgICAgICAmLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lIHtcclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgY2tlZGl0b3IncyBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUZW1wIGZpeCBmb3Igb3ZlcnJpZGluZyBja2VkaXRvciBzdHlsZXMuXHJcbiAgICAgICAgJi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRWRpdG9yIGluaXRpYWwgY29udHJvbHMuXHJcbiAgICAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gVE9ETzoganVzdCB0ZW1wIHVzaW5nIHRoaXMgdmFyLlxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDAwMDtcclxuICAgICAgICAvLyBDb21tb24gYnV0dG9uIHN0eWxpbmcuXHJcbiAgICAgICAgLmFkbWluLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICArIGRpdiB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgIC5wcm9wZXJ0eS1lZGl0b3Ige1xyXG4gICAgICAgXHJcbiAgICB9XHJcbn1cclxuLy8gUHJvcGVydHkgZWRpdG9yIHRyaWdnZXIgYnV0dG9uLlxyXG4ucHJvcGVydHktZWRpdG9yLXRyaWdnZXIge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMTMnO1xyXG4gICAgfVxyXG59XHJcbi8vIENvbnRlbnQgZWRpdG9yIHRyaWdnZXIgYnV0dG9uLlxyXG4uY29udGVudC1lZGl0b3ItdHJpZ2dlciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjA0NCc7XHJcbiAgICB9XHJcbn1cclxuLy8gRWRpdG9yIHNhdmUgYnV0dG9uLlxyXG4uZWRpdG9yLXNhdmUtYnV0dG9uIHtcclxuICAgICYuaW5saW5lIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwYzcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBFZGl0b3IgY2FuY2VsIGJ1dHRvbi5cclxuLmVkaXRvci1jYW5jZWwtYnV0dG9uIHtcclxuICAgICYuaW5saW5lIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMGQnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIlxyXG5cclxuXHJcblxyXG5cclxuXHJcbi5vZmYtY2FudmFzLWhlYWRlciB7XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG4gICAgfVxyXG4gICAgLm9mZi1jYW52YXMtaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEFjY29yZGlvbiBUYWJzIC0tLS0tLSBcclxuLSBUT0RPOiBUaGUgbmFtaW5nIGNvbnZlbnRpb25zIG5lZWQgdG8gYmUgcmUtd3JpdGVuIGF0IHNvbWUgcG9pbnQgYXMgdGhpcyB3YXMgb3JpZ2luYWxseSBidWlsZCBmb3Igb24gYmVpbmcgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIGhlbnNlIHRoZSB2ZXJ5IHNwZWNpZmljIG5hbWluZyBvZiBpZCdzIGFuZCBjbGFzc2VzLlxyXG4tIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBiYXNlZCBvbiBGb3VuZGF0aW9uJ3MgUmVzcG9uc2l2ZSBBY2NvcmRpb24gVGFicyBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvcmVzcG9uc2l2ZS1hY2NvcmRpb24tdGFicy5odG1sXHJcbi0gVGhlIHN0eWxpbmcgZm9yIHByb2R1Y3QgdGFiYmVkIG5vdGVzIGlzIGRlZmluZWQgaGVyZVxyXG4gIC0gQXR0YWNobWVudHNcclxuICAtIFNwZWNpZmljYXRpb24nc1xyXG4gIC0gUmV2aWV3c1xyXG4gIC0gQ29tcG9uYW50cy5cclxuXHJcbiovXHJcblxyXG4vLyAtLS0tLSBSZXNwb25zaXZlIFRhYnMgaGVhZGVyIC0tLS0tIFxyXG4ucmVzcG9uc2l2ZS10YWJzLWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAucmVzcG9uc2l2ZS10YWJzLWNvbnRyb2xzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR0cmVlLW1lbnUtZXhwYW5kLWFsbC1pY29uLWZvbnQtc2l6ZTtcdFx0XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIEdlbmVyYWwgc3R5bGluZ3MgLS0tLVxyXG4vLyBJRCByZWZlcmVuY2UgY2FuIGdvIGFmdGVyIDgyMzk0MyBpcyBjb21wbGV0ZS5cclxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgJi5jb21wb25lbnQtcmVhZHkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXNwb25zaXZlLXRhYnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5jb21wb25lbnQtcmVhZHkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmOmhhcygudGFicy52ZXJ0aWNhbCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLmFjY291bnQtYXJlYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGFjY291bnQtdGFicy1wYW5lbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGFjY291bnQtdGFicy1wYW5lbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciwgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvL2dyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50ICB7XHJcbiAgICAgICAgICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNlYXJjaC1yZXN1bHRzIHtcclxuICAgICAgICAudGFicy10aXRsZSBhIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMThweCAzNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzIHtcclxuICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggLjJzLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAyMHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZm91bmQtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gUHV0IHRhYnMgY29udGVudCBpbnRvIGNvbnRleHQuXHJcbiAgICAgICAgICAgICYgKyAudGFicy1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAudGFicy1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgd2lkdGg6ICRwcm9kdWN0LXRhYnMtdGl0bGUtZGVza3RvcC13aWR0aDtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGFicy10aXRsZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10YWJzLXRpdGxlLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3VuZC1jb3VudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1wYW5lbCwgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250ZW50IHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICZbYXJpYS1oaWRkZW49dHJ1ZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZGVkIHRoaXMgcnVsZSBhcyB3aGVuIGluIGFjY29yZGlvbiB2aWV3IG9uIHRoZSBwcm9kdWN0IGVucXVpcnkgcGFnZSB0aGVyZSB3YXMgdHdvIHJ1bGVzIGJlaW5nIGFkZGVkLCB0aGlzIG9uZSBhbmQgdGhlIGFjY29yZGlvbiB0aXRsZSBhcyB3ZWxsLCB0aGlzIGlzIG92ZXJyaWRpbmcgZm91bmRhdGlvbidzIGNzcy5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YWJzLWNvbnRlbnQsXHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1cInByZXNldFwiXSkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXRhYi1zcGVjaWZpY2lhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgcGFkZGluZyBkdWUgdG8gY29uZmxpY3Rpbmcgd2l0aCB0aGUgcGFkZGluZyBmb3Igc3RhciByYXRpbmcuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgLy8gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBwYWRkaW5nIGR1ZSB0byBjb25mbGljdGluZyB3aXRoIHRoZSBwYWRkaW5nIGZvciBzdGFyIHJhdGluZy5cclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHJlc3NpbmcgdG8gbWFrZSBtb3JlIGdlbmVyYWwgcHVycG9zZSwgdXNlIGNvbnRhaW5lciBjbGFzc2VzIGlmIG5lZWRlZC5cclxuICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPbmx5IGVmZmVjdCB0aGUgcHJvZHVjdCBwYWdlLCB0aGlzIHNob3VsZCBiZSByZWZhY3RvcmVkIHRvIHVzZSBkZWZhdWx0IHRhYmxlIGNsYXNzaW5nICggcHJlc2V0LTEgKSBhbmQgdGV4dC1lcXVhbGlzZXIgKCBjb2x1bW4gYWxpZ25tZW50ICkuXHJcbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIHtcclxuICAgIC50YWJzLXBhbmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIC50YWJiZWQtY21zLWVudHJ5LCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyLCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIE9ubHkgZG8gdGhpcyBmb3IgdGFiYmVkIG5vdGVzLCBvdGhlcndpc2UgdGhlIHJ1bGVzIGdldCBpbiB0aGUgd2F5IG9mIG90aGVyIGNsYXNzZXMgKCBpLmUgcHJpY2luZyApXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1oZWFkaW5ncygpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKG51bGwsIG51bGwsICRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKG51bGwsIG51bGwsICRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICB9XHJcbiAgICAvLyBIYW5kbGUgdGhlIGZpcnN0IGNvbHVtbiBsaWtlIGl0IGlzIHRoZSBoZWFkZXIgaW4gdGVybXMgb2YgdHlwb2dyYXBoeSAoIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgY29sb3VyLi4uLiApLlxyXG4gICAgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJzLXBhbmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgICY6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikge1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgICAgIC5kZXNjcmlwdGlvbi1jb2wsIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gVGFicyBzdHlsaW5nIC0tLS1cclxuLnRhYnMge1xyXG4gICAgJHRhYnNCb3JkZXJCb3R0b206IDFweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkdGFic0JvcmRlckJvdHRvbSBzb2xpZCAkY29sb3VyMy0xICFpbXBvcnRhbnQ7IC8vIE92ZXJyaWRpbmcgRm91bmRhdGlvblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgLy8gT3ZlcnJpZGluZyBGb3VuZGF0aW9uICYgdGhlIEpTIGRvZXNuJ3QgYXBwbHkgXCIgaG9yaXpvbnRhbCBcIiBjbGFzcyBzbyB3ZSBoYXZlIHRvIG92ZXJyaWRlIG91ciAgZGVmYXVsdC5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtdGl0bGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIHRoZSBydWxlIHRoYXQgZ29lcyBhY3Jvc3MgYWxsIG9mIHRoZSB0YWJzLlxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0YWJzQm9yZGVyQm90dG9tO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC0jeyR0YWJzQm9yZGVyQm90dG9tfTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7ICAgIFxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICR0YWJzLXRpdGxlLWljb24tc2l6ZTsgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdGFicy10aXRsZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRhYnMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tIEFjY29yZGlvbnMgLS0tLS1cclxuLmFjY29yZGlvbiB7XHJcbiAgICAkYWNjb3JkaW9uLXNwYWNpbmc6IDEwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAvLyBBZGQgc21hbGwgYW1vdW50IG9mIHBhZGRpbmcgd2hlbiBpbiBtb2JpbGUgZm9yIHRoZSBwcm9kdWN0IHBhZ2UuXHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC8vIEZvciB0aGlzIHRvIHdvcmsgeW91IGhhdmUgdG8gd3JhcCB0aGUgdGl0bGUgdGV4dCBpbiBhIHNwYW4udGl0bGUuXHJcbiAgICAmLnBhbmVsLXN0YXRlLWluZGljYXRvci1maXJzdCB7XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJhZGlvLWluZGljYXRvcnMge1xyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhY2NvcmRpb24tcmFkaW8taW5kaWNhdG9yLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhY2NvcmRpb24tcmFkaW8taW5kaWNhdG9yLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG4gICAgfVxyXG4gICAgLy8gSWYgb25seSBvbmUgY2hpbGQgdGhlbiBzdXBwcmVzcyB0aXRsZSAoIGUuZy4gcGF5bWVudCBtZXRob2RzICkuXHJcbiAgICAmLnN1cHByZXNzLXRpdGxlLXNpbmdsZS1jaGlsZCB7XHJcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyB7XHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXIsIGRlZmF1bHQpLCBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRhY2NvcmRpb25zLXRpdGxlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGFjY29yZGlvbnMtdGl0bGUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91ciwgaGlnaGxpZ2h0ZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGlzYWJsZWQtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLWNsb3NlZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRhY2NvcmRpb25zLWFycm93LWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvcmRpb25zLWFycm93LWNvbG91cik7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNzVweDsgLy8gZGVmYXVsdC5cclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm91bmQtY291bnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtYWN0aXZlIHtcclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFjY29yZGlvbi1zcGFjaW5nO1xyXG4gICAgICAgICY6bm90KC5pcy1hY3RpdmUpIHtcclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyB3ZWlyZCBib3JkZXIgdGhhdCBpcyBmb3VuZCBlbWl0dGluZyB3aGVuIHdlIHJvdW5kIG92ZXIgdGhlIGNvcm5lcnMgb2YgdGhlIGxhc3QgaXRlbS5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9ICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofSAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nLCAwLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZywgMCwgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLy8gRGlzcGxheXMgdGhlIHZhcmlvdXMgZmlsZSBhdHRhY2htZW50cyB0aGF0IGNhbiBiZSBhc3NpZ25lZCB0byBhIHN0b2NrIGl0ZW0uXHJcbi5hdHRhY2htZW50cy1jb250YWluZXIge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dGFjaG1lbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogJGZpbGUtYXR0YWNobWVudC1wYWRkaW5nO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZmlsZS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZmlsZS1hbmNob3ItZm9udC1zaXplO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHVua25vd24pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgdW5rbm93bik7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZmlsZS1pY29ucy1zaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icm9jaHVyZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGJyb2NodXJlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGJyb2NodXJlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlci1ndWlkZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHVzZXItZ3VpZGUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHVzZXItZ3VpZGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXJ0cy1kaWFncmFtIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcGFydHMtZGlhZ3JhbSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcGFydHMtZGlhZ3JhbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndvcmQsIFtocmVmJD0nLmRvYyddLCBbaHJlZiQ9Jy5kb2N4J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB3b3JkKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB3b3JkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucG93ZXJwb2ludCwgW2hyZWYkPScucHB0J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwb3dlcnBvaW50KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwb3dlcnBvaW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZXhjZWwsIFtocmVmJD0nLnhscyddLCBbaHJlZiQ9Jy54bHN4J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBleGNlbCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgZXhjZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wZGYsIFtocmVmJD0nLnBkZiddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgcGRmKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBkZik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNzdiwgW2hyZWYkPScuY3N2J10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBjc3YpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGNzdik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLWF0dGFjaG1lbnQsIFtocmVmJD0nLmpwZyddLCBbaHJlZiQ9Jy5wbmcnXSwgW2hyZWYkPScuZ2lmJ10sIFtocmVmJD0nLndlYm0nXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGltYWdlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBpbWFnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZpZGVvLWF0dGFjaG1lbnQsIFtocmVmJD0nLm1vdiddLCBbaHJlZiQ9Jy5tcDQnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHZpZGVvKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB2aWRlbyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnppcCwgW2hyZWYkPScuemlwJ10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCB6aXApO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHppcCk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFN0aWNreSAtLS0tLS0gXHJcblN0aWNreSBmdW5jdGlvbmFsaXR5IHRoYXQgaXMgYnVpbGQgb250b3Agb2YgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3N0aWNreS5odG1sLlxyXG5cclxuW0lNUE9SVEFOVF0gLSBUaGlzIENTUyBpcyBub3QgZm9yIHRoZSBiYXNrZXQgc3VtbW1hcnkgb3IgdGhlIGhlYWRlciBwbGVhc2UgdmlldyBoZWFkZXIuc2NzcyBhbmQgYmFza2V0LnNjc3MgZm9yIHRoYXQuXHJcbiovXHJcblxyXG5cclxuXHJcbi5zdGlja3kge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICYuaXMtc3R1Y2sge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIH1cclxuICAgICYuaXMtYW5jaG9yZWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICAgICYuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmLmVsZW1lbnQtbm90LWluLXZpZXdwb3J0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudFxyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1heGlzLXN0aWNreS1jb250YWluZXJdIHtcclxuICAgIC8vIFNjYWxlIGZ1bGwgd2lkdGggb2YgY29udGFpbmVyIHRvIGFsbG93IGZvciBzdGlja3kgYnV0dG9ucyBhbHdheXMgYmUgcGlubmVkIHRvIHRoZSByaWdodC5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLmNhbGxiYWNrQ29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgIH1cclxufVxyXG5cclxuW2RhdGEtYXhpcy1zdGlja3ldIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5bZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcbiRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMTI4cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzOiAoXHJcbiAgICBsYXJnZTogKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSkgKyAobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpICogMikpXHJcbik7XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIC8vIGJveC1zaGFkb3c6IDBweCAycHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjUpO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgLy8gU3BlY2lmaWNhbGx5IGZvciBtYW5hZ2UgY2FsbHMgdG8gcHJldmVudCBsYXJnZSBicmVha3MgaW4gdGhlIG1haW4gY29udGVudC5cclxuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiB1bnNldDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuc3RpY2t5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBGaXggaW50byBwbGFjZSBzdG9wIGRlZmF1bHQgYmVoYXZvdXIgZnJvbSB0YWtpbmcgb3ZlciBvbiBtb2JpbGUuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDsgXHJcbiAgICAgICAgLy8gICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpIGRvd24pIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXN0dWNrIHtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC8vICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxleDogMSAxIDA7XHJcblxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICRyYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIC8vIFJlc2V0IHJhZGl1cyBpZiBub3QgZmlyc3Qgb3IgbGFzdCBpdGVtLlxyXG4gICAgICAgICAgICBidXR0b24sYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgJHJhZGl1cyAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMCAwOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwICRyYWRpdXM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzIDAgMCAkcmFkaXVzOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGlja3ktc2lkZS1idXR0b24ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKTtcclxuICAgICAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIC8vIEVuZm9yY2UgZm9udC13ZWlnaHQgNDAwIGFzIG91ciBmb250ZWxsbyBsaWJyYXJ5IG9ubHkgaGFzIG9uZSB3ZWlnaHQuXHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKGxhcmdlLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSwgYnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBMaXN0IFNvcnRpbmcgT3B0aW9ucyAgLS0tLS1cclxuLSBIb2xkcyB0aGUgc3R5bGVzIGZvciB0aGUgZm9sbG93aW5nOiBcclxuICAtIFByb2R1Y3QgbGlzdChzKVxyXG4gIC0gQWNjb3VudCBhcmVhIHNvcnRpbmcgKCBoaXN0b3JpY2FsIHRyYW5zYWN0aW9ucywgY2FsbCBzeXN0ZW0sIG9yZGVycyApXHJcbi0gVGhlIGZvbGxvd2luZyBjb21wb25lbnRzIHdpbGwgYmUgZm91bmQgaGVyZTogXHJcbiAgLSBMaXN0IGl0ZW0gY291bnRcclxuICAtIFNvcnQgYnkgXHJcbiAgLSBGaWx0ZXJzIHRvZ2dsZSAoIElmIG9wZW5pbmcgYSBwb3B1cCApXHJcbiAgLSBWaWV3IHN3aXRjaGVyICggR3JpZCBvciBUYWJsZSApXHJcbiAgLSBQYWdpbmF0aW9uIFxyXG4gIC0gSXRlbXMgcGVyIHBhZ2UuXHJcbiovXHJcblxyXG5cclxuLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XHJcbiAgICAvLyAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgIC8vICAgICBoZWlnaHQ6ICgkc2VsZWN0LWRyb3Bkb3duLWRlZmF1bHQtaGVpZ2h0IC0gMTApO1xyXG4gICAgLy8gfVxyXG4gICAgLmNvbnRyb2wgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRzb3J0aW5nLW9wdGlvbnMtY29udGFpbmVyLWdhcCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZzogNXB4IDAgMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkc29ydGluZy1vcHRpb25zLWNvbnRhaW5lci1nYXApO1xyXG4gICAgICAgIC8vIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIEBpZiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0IDw9IDQwcHgge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvLyBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICAuc29ydC1vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZG93bmxvYWQtb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCg6b25seS1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0jeygoJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLWdhcCArICRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGgpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW1vbi1ydWxlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6ICN7KCRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1nYXAgKyAkc29ydGluZy1kb3dubG9hZC1vcHRpb24tc2VwZXJhdG9yLXdpZHRoKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tIFJlc3VsdHMgZGlzcGxheSAtLS1cclxuICAgIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLml0ZW0tY291bnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBjb3VudCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHVzaW5nIGdhcCBwcm9wZXJ0eSBvbiBwYXJlbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIGNvdW50KTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLkFYSVNSZXN1bHREaXNwbGF5LCAuaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc29ydGluZy1pdGVtcy1mb3VuZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBGaWx0ZXIgdG9nZ2xlIC0tLVxyXG4gICAgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgZmlsdGVyLXRvZ2dsZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IFxyXG4gICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nLCB1c2luZyBnYXAgcHJvcGVydHkgb24gcGFyZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBmaWx0ZXItdG9nZ2xlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZpbHRlci10b2dnbGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcclxuICAgICAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQ2FsbCBzZWFyY2ggLS0tIFxyXG4gICAgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIGNhbGwtc2VhcmNoKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIGNhbGwtc2VhcmNoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaW5wdXQsIGlucHV0ICsgYnV0dG9uLCAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzNDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEJyYW5jaCBTZWxlY3RvciAtLS0gXHJcbiAgICAuYnJhbmNoLWZpbHRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogNjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZWN0LCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIC50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0gU29ydCBkcm9wIGRvd24gLS0tXHJcbiAgICAuQVhJU1NvcnRGb3JtLCAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHNvcnQtYnkpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgc29ydC1ieSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyB6LWluZGV4IGR1ZSB0byBvdmVybGFwcGluZyBwcmludGVyIHdpemFyZCBkcm9wZG93bnMgODEzNjA4XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gVG8gYnJpbmcgaGVpZ2h0IGlubGluZSB3aXRoIG90aGVyIHNvcnRpbmcgYnV0dG9ucy5cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy0tLSBQYWdlIHZpZXcgLS0tXHJcbiAgICAuQVhJU1ZpZXdDb250YWluZXIsIC5saXN0LXZpZXctY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCB2aWV3KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgdmlldyk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEsIC52aWV3LWNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIC8vIFZhcmlvdXMgc3RhdGVzLiBcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gRmFsbGJhY2sgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODQwMTk5IGhhcyBiZWVuIGNvbXBsZXRlZCAoIGVzc2VudGlhbGx5IHJldmVyc2luZyBsb2dpYyB3aGljaCBpcyBpbmNvbnNpc3Rhbnkgd2l0aCBJdGVtcyBQZXIgTGlzdCBhbmQgUGFnaW5hdGlvbiApLlxyXG4gICAgICAgICAgICAgICAgJi5BWElTVmlld0dyaWQsICYuQVhJU1ZpZXdMaXN0IHtcclxuICAgICAgICAgICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyBHZW5lcmFsaXNlZCBpY29uIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRsaXN0LXZpZXctdHlwZS1pY29ucy1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEljb24gc3BlY2lmaWMgc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgJi5BWElTVmlld0dyaWQsICYuZ3JpZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlzdC1ncmlkLXZpZXcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuQVhJU1ZpZXdMaXN0LCAmLmxpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxpc3QtdGFibGUtdmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8tLS0gUGVyIFBhZ2UgLS0tXHJcbiAgICAuQVhJU1BlclBhZ2VDb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHBlci1wYWdlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHBlci1wYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbSkgMTZweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBORVcgVkVSU0lPTiBPRiBBWElTUGVyUGFnZUNvbnRhaW5lciAoIGZvbGxvd2luZyBleHByZXNzIG5hbWluZyBjb252ZW5zaW9ucyArIHJlZHVjZWQgbWFya3VwICkuXHJcbiAgICAvLyBJZiBpdGVtIHBlciBsaXN0IGlzIHRoZSBmaXJzdCBpdGVtIGluIHNvcnRpbmcgYmFyIHRoZW4gcHVzaCB0byB0aGUgcmlnaHQuXHJcbiAgICBkaXY6Zmlyc3QtY2hpbGQuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkaXRlbXMtcGVyLWxpc3Qtd2lkdGgpO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBwZXItcGFnZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRpdGVtcy1wZXItbGlzdC13aWR0aCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nLCB1c2luZyBnYXAgcHJvcGVydHkgb24gcGFyZW50IGluc3RlYWQuXHJcbiAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBwZXItcGFnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4OiAxIDEgMDtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tKSA4cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIC5wYWdpbmF0aW9uLWNvbnRhaW5lciwgJiArIC5BWElTUGFnZU51bWJlcmluZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gUGFnaW5hdGlvbiAtLS1cclxuLkFYSVNQYWdlTnVtYmVyaW5nLCAucGFnaW5hdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwIHNwYWNpbmctdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXAsIDIpO1xyXG4gICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHBhZ2luYXRpb24pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMjUlO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gRG9uJ3Qgc2V0IGZsZXg6IDE7IGFzIHRoYXQgcHVzaGVzIGFsbCB0aGUgcHJlY2VlZGluZyBjb250ZW50IHRvIGxlZnQgbm8gaWRlYSBmb3IgdGhlIHNvcnRpbmcgYmFyIGF0IHRoZSBib3R0b20gb2YgYSBsaXN0IGFzIGl0IGNhdXNlcyBhbGlnbm1lbnQgaXNzdWVzLlxyXG4gICAgICAgIC8vIGZsZXg6IDE7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDAgI3tzcGFjaW5nLXZhbHVlKCRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwLCAyLCBsYXJnZSl9O1xyXG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMjVweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHBhZ2luYXRpb24pO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzb3J0LW9wdGlvbnMtYnV0dG9uLXBhZGRpbmctdG9wLWJvdHRvbSkgMTBweDtcclxuICAgICAgICAvL21hcmdpbjogMCAyLjVweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC8vICAgICAvLyBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDJweDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlbGVjdGVkLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5BWElTUGFnZU51bWJlckpvaW5lciwgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuLnBhZ2luYXRpb25MYWJlbCwgLnBhZ2luYXRpb24tbGFiZWwge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc29ydGluZy1vcHRpb25zLWxhYmVsLW1hcmdpbi1yaWdodDtcclxuICAgIGRpc3BsYXk6ICRwYWdpbmF0aW9uLWxhYmVsLWRpc3BsYXk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzb3J0aW5nLW9wdGlvbnMtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG59IiwiXHJcbi8qKlxyXG5cclxuLS0tLSBNYW5hZ2UgQ2FsbHMgLS0tLSBcclxuXHJcbi0gRm9ybWFsbHkga25vdyBhcyB0aGUgY2FsbCBwb3J0YWwgYmVmb3JlIGl0IGdvdCBlbWJlZGRlZCBpbiBleHByZXNzLCBtYW5hZ2UgY2FsbHMgaXMgYWNjb3VudCBmdW5jdGlvbmFsaXR5IHRoYXQgZGlzcGxheXMgY2FsbHMgaW4gYSBsaXN0IGluIGV4cHJlc3MuXHJcbi0gU3R5bGVzIGluY2x1ZGVkIGhlcmU6IFxyXG4gIC0gTGlzdCBmb3IgY2FsbCBsaXN0ICsgZXZlbnRzIGxpc3QuXHJcbiAgLSBFbnF1aXJ5IHN1bW1hcnkuXHJcbiAgLSBDYWxsIHJhdGluZyBmb250cy5cclxuICAtIFN0aWNreSBidXR0b25zIGljb25zLlxyXG4qKi9cclxuXHJcbi5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC1lbnF1aXJ5LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIC8vIEVuc3VyZSBiYWNrZ3JvdW5kLWNvbG9yIGdldHMgcmVuZGVyZWQgaW4gcHJpbnQgbW9kZS5cclxuICAgIC8vIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgLy8gLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXdlaWdodDogJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNhbGwtZW5xdWlyeS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY2FsbC1lbnF1aXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhbGxvd2luZyB0aGUgY29udGFpbmVyIHRvIGRpY3RhdGUgdGhlIHBhZGRpbmcuXHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbC1lbnF1aXJ5LWNvbnRlbnQtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmVucXVpcnktaGVhZGVyLWhlYWRpbmcge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgc3R5bGVzIGR1ZSB0byBpbnB1dCBiZWluZyBvbiBhIGJhY2tncm91bmQuXHJcbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW57XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBDYWxsIFJhdGluZyAtLS0tLVxyXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIHtcclxuICAgIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGFnZS12aWV3IHtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICAmLmxpc3QtdmlldyB7XHJcbiAgICAgICAgd2lkdGg6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBoZWlnaHQ6ICRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLWxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLWluZm9ybWF0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAuY2FsbC1yYXRpbmctdmFsdWUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMCB7XHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1jYW5ub3QtcmF0ZSkpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi51bnJhdGVkIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy11bnJhdGVkKSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTEgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctdmVyeS1iYWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0yIC5pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWJhZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTMgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctYXZlcmFnZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTQgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctZ29vZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTUgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctdmVyeS1nb29kKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFzIGRlZmF1bHQgc2NhbGUgdG8gdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIHRoZSBpY29uIGlzIGEgcmFkaW8gYnV0dG9uIHRoZW4gbGltaXQgdGhlIHdpZHRoLlxyXG4gICAgICAgIC5yYWRpbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ2FsbCB1cmdlbmN5IGljb25zLlxyXG4uY2FsbC11cmdlbmN5LWljb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLmxvdyB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LWxvdyl9KTtcclxuICAgIH1cclxuICAgICYubWVkaXVtIHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktbWVkaXVtKX0pO1xyXG4gICAgfVxyXG4gICAgJi5oaWdoIHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktaGlnaCl9KTtcclxuICAgIH1cclxuICAgICYuY3JpdGljYWwge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1jcml0aWNhbCl9KTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB3aWR0aDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXVyZ2VuY3ktaW1hZ2UtdXJsKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XHJcbiAgICAuYnV0dG9uLWljb24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1iYWNrLXRvLWxpc3Q6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1saXN0KTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1saXN0LWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNhbGwtcmVxdWVzdC1hcmNoaXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmVxdWVzdC1hcmNoaXZlKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1yZXF1ZXN0LWFyY2hpdmUtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1hZGQtaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1hZGQtaW5mbyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtYWRkLWluZm8taWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1jcmVhdGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbmV3LWNhbGwpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1uZXctY2FsbC1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLmNhbGwtdGFibGUsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nOiAxMHB4O1xyXG4gICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRjYWxscy10YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG4gICAgJi5lbnF1aXJ5LXRhYmxlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tY29sIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KSArIDEwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudW5yZWFkLWNvbCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICAgIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGguY2FsbC1udW1iZXItY29sLCAuY2FsbC1udW1iZXItY29sIHtcclxuICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jdXN0b21lci1uYW1lLWNvbCwgdGguY3VzdG9tZXItbmFtZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcygucmF0aW5nLWNvbCkge1xyXG4gICAgICAgIHRkLnN1YmplY3QtY29sLCB0aC5zdWJqZWN0LWNvbCwgLnN1YmplY3QtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnN1YmplY3QtY29sLCB0aC5zdWJqZWN0LWNvbCwgLnN1YmplY3QtY29sIHtcclxuICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzLjclO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNlcnZpY2UtY29udHJhY3QtY29sLCB0aC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEuNSU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY2FsbC1jb250YWN0LWNvbCwgdGguY2FsbC1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVzZXItY29udGFjdC1jb2wsIHRoLnVzZXItY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jcmVhdGVkLWNvbCwgdGguY3JlYXRlZC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcuNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQubGFzdC11cGRhdGVkLCB0aC5sYXN0LXVwZGF0ZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcuNyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQucmF0aW5nLWNvbCwgdGgucmF0aW5nLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudXJnZW5jeS1jb2wsIHRoLnVyZ2VuY3ktY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC50eXBlLWNvbCwgdGgudHlwZS1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNyU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zb3VyY2UtY29sLCB0aC5zb3VyY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5kYXRhLXRpbWUtY29sLCB0aC5kYXRlLXRpbWUtY29sIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNiU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQubm90ZXMtY29sLCB0aC5ub3Rlcy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC50aW1lc3RhbXAtY29sLCB0aC50aW1lc3RhbXAtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jaGFuZ2VzLWNvbCwgdGguY2hhbmdlcy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBcyB3ZSBhZGQgYSBwYWRkaW5nIFIgKyBMIHRvIHRoZSB0ZCB3ZSBuZWVkIHRvIGNvbXBlbnNhdGUgZm9yIHRoYXQuXHJcbiAgICAuZWxsaXBzaXMtdGV4dDpob3ZlciB7XHJcbiAgICAgICAgbGVmdDogLTVweDtcclxuICAgIH1cclxuICAgIC8vIFByZXZlbnQgbG9uZyBzdHJpbmdzIG9mIHRleHQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gICAgLmNhbGwtbm90ZXMtY29udGFpbmVyIHtcclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuICAgIH1cclxuICAgIHRyLmNhbGwtY2xvc2VkIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG5vdChcIi5yYXRpbmctY29sXCIsIFwiLnVucmVhZC1jb2xcIikge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZW5xdWlyeS1maWx0ZXJzIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBzcGFuLmNoZWNrYm94LCBzcGFuLnJhZGlvIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmNhbGwtdHlwZS1pY29uIHtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIC8vIEZpeCBmb3IgaWNvbnMgbm93IHNob3dpbmcgaW4gcHJpbnRlciBtb2RlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzY2NzAxNTEvaG93LWNhbi1pLWZvcmNlLWJyb3dzZXJzLXRvLXByaW50LWJhY2tncm91bmQtaW1hZ2VzLWluLWNzcy4gXHJcbiAgICBwcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xyXG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyBcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICBmb250LXNpemU6ICRjYWxsLWVucXVpcnktaWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkY2FsbC1lbnF1aXJ5LWljb24tY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RhdGljIGJ1aWxkLlxyXG4gICAgJi5kZW1vIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gJi5hdHRhY2htZW50IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259QXR0YWNobWVudC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5hdHRhY2htZW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jYWxsLXByaXZhY3kge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DYWxsUHJpdmFjeS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jYWxsLXByaXZhY3k6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtcHJpdmFjeSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNhbGwtdHlwZSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNhbGxUeXBlLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNhbGwtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS10eXBlKTtcclxuICAgIH1cclxuICAgIC8vICYuY2xhc3NpZmljYXRpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DbGFzc2lmaWNhdGlvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jbGFzc2lmaWNhdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jbGFzc2lmaWNhaXRvbik7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbXBsZXRlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbXBsZXRlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb21wbGV0ZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29tcGxldGUpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb250YWN0IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29udGFjdC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb250YWN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbnRhY3QpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb250cmFjdCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbnRyYWN0LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbnRyYWN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbnRyYWN0KTtcclxuICAgIH1cclxuICAgIC8vICYuY29udHJhY3QtdHlwZSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNvbnRyYWN0VHlwZS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jb250cmFjdC10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNvbnRyYWN0LXR5cGUpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jcmVhdGVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q3JlYXRlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5jcmVhdGVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNyZWF0ZWQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5kZWZlcnJlZCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufURlZmVycmVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmRlZmVycmVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWRlZmVycmVkKTtcclxuICAgIH1cclxuICAgIC8vICYuZXNjYWxhdGlvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUVzY2FsYXRpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuZXNjYWxhdGlvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1lc2NhbGF0aW9uKTtcclxuICAgIH1cclxuICAgIC8vICYuaW1wYWN0IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259SW1wYWN0LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmltcGFjdDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1pbXBhY3QpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5pbmJvdW5kLXBob25lLWNhbGwge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1JbmJvdW5kUGhvbmVDYWxsLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmluYm91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1pbmJvdW5kLXBob25lLWNhbGwpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5pbmZvcm1hdGlvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUluZm9ybWF0aW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmluZm9ybWF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWluZm9ybWF0aW9uKTtcclxuICAgIH1cclxuICAgIC8vICYubGluayB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUxpbmsucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYubGluazpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1saW5rKTtcclxuICAgIH1cclxuICAgIC8vICYub3V0Ym91bmQtcGhvbmUtY2FsbCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufU91dGJvdW5kUGhvbmVDYWxsLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLm91dGJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtb3V0Ym91bmQtcGhvbmUtY2FsbCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnByaW9yaXR5IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259UHJpb3JpdHkucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYucHJpb3JpdHk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtcHJpb3JpdHkpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5yZXNwb25zaWJpbGl0eSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVJlc3BvbnNpYmlsaXR5LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnJlc3BvbnNpYmxpdHk6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtcmVzcG9uc2liaWxpdHkpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5zaG9ydGN1dC1zZW50IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259U2hvcnRjdXRTZW50LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnNob3J0Y3V0LXNlbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtc2hvcnRjdXQtc2VudCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnNsYS1pbmNsdXNpb24ge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1TTEFJbmNsdXNpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuc2xhLWluY2x1c2lvbjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1zbGEtaW5jbHVzaW9uKTtcclxuICAgIH1cclxuICAgIC8vICYuc3RhdHVzIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259U3RhdHVzLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnN0YXR1czpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1zdGF0dXMpO1xyXG4gICAgfVxyXG4gICAgLy8gJi51bmRlZmVycmVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259VW5kZWZlcnJlZC5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi51bmRlZmVycmVkOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXVuZGVmZXJyZWQpO1xyXG4gICAgfVxyXG4gICAgJi51cmdlbmN5OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXVyZ2VudCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLndvcmtmbG93IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259V29ya2Zsb3cucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYud29ya2Zsb3c6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtd29ya2Zsb3cpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FsbC1zb3VyY2UtaWNvbiB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkY2FsbC1lbnF1aXJ5LWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGNhbGwtZW5xdWlyeS1pY29uLWNvbG91cjtcclxuICAgIH1cclxuICAgIC8vIFNwZWNpZmljYWxseSBmb3IgdGhlIHN0YXRpYyBidWlsZC5cclxuICAgICYuZGVtbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51c2VyOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1zb3VyY2UtdXNlcik7XHJcbiAgICB9XHJcbiAgICAmLnBvcnRhbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtc291cmNlLXBvcnRhbCk7XHJcbiAgICB9XHJcbiAgICAmLmVtYWlsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1zb3VyY2UtZW1haWwpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtaGVhZGluZyB7XHJcbiAgICBtYXJnaW46ICRtYW5hZ2UtY2FsbHMtdGFibGUtaGVhZGluZy1tYXJnaW47XHJcbn0iLCIvKlxyXG4tLS0tLSBCYWNrIHRvIHRvcCAtLS0tLS0gXHJcblRoaXMgaXMgdGhlIGJ1dHRvbiB0aGF0IGFwcGVhciBhdCB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIHRoYXQgdGFrZXMgeW91IGJhY2sgdG8gdGhlIHRvcCBvZiB0aGUgdmlld3BvcnQuXHJcbiovXHJcblxyXG4uYmFjay10b3AtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLXdpZHRoKTtcclxuICAgIGhlaWdodDogc21hbGwtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi1oZWlnaHQpO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgQGlmICRiYWNrLXRvLXRvcC1wb3NpdGlvbi1yaWdodCB7XHJcbiAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpO1xyXG4gICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgdG8gYWNjb3VudCBmb3IgdGhlIHJlY2FwdGNoYSBiYWRnZS5cclxuICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIHNtYWxsKTtcclxuICAgIH1cclxuICAgIHotaW5kZXg6IDE1MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24td2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi1oZWlnaHQpO1xyXG4gICAgICAgIEBpZiAkYmFjay10by10b3AtcG9zaXRpb24tcmlnaHQge1xyXG4gICAgICAgICAgICByaWdodDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSB0byBhY2NvdW50IGZvciB0aGUgcmVjYXB0Y2hhIGJhZGdlLlxyXG4gICAgICAgICAgICBib3R0b206IChtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKSArIDYwKTsgLy8gQWRkaW5nIGFkZGl0aW9uYWwgc3BhY2UgZm9yIHN0aWNrIGJ1dHRvbnMgZm9yIG1hbmFnZSBjYWxscy5cclxuICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmFjay10b3AtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsICdiYWNrLXRvLXRvcCcpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYWNrLXRvLXRvcC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRiYWNrLXRvLXRvcC1pY29uLXNpemUpOyBcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBsYXJnZS12YWx1ZSgkYmFjay10by10b3AtaWNvbi1zaXplKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciwgJjpob3Zlci5hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGlmICRiYWNrLXRvLXRvcC1idXR0b24tZ3JhZGlhbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJhY2stdG8tdG9wLWJ1dHRvbi1ncmFkaWFudDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmOmFjdGl2ZTphY3RpdmV7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gU2VjdGlvbnMgLS0tLS0gXHJcbkF4aXMgdG9nZ2xlciBpcyBidWlsZCBvbiB0b3Agb2YgRm91bmRhdGlvbidzIFRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCBhbmQgaXMgc2ltaWxhciB0byBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvYWNjb3JkaW9uLmh0bWwgYnV0IHNvbWV0aW1lcyBpdCBpcyBub3QgcG9zc2libGUgY29udmVuaWVudCB0byBidWlsZCB0aGUgc2VjdGlvbihzKSBpbiA8dWw+IG9yIGluIGRlc2t0b3AgeW91IHJlcXVpcmUgdGhlIGxheW91dCB0byBiZSBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byBtb2JpbGUuXHJcbiovXHJcblxyXG4uYXhpcy1zZWN0aW9uIHtcclxuICAgIC8vIEFsbG93IGdyaWQtbWFyZ2luLXkgaGFuZGxlIHRoaXMuXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1vcGVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJldmVhbC1lbmFibGVkIHtcclxuICAgICAgICAmOm5vdCguYWN0aXZlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1ib3R0b20gJHRyYW5zaXRpb25JbnRybywgcGFkZGluZy1ib3R0b20gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNyk7XHJcbiAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLWNsb3NlZCk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTsgXHJcbiAgICAgICAgZm9udC1zaXplOiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItc3RhdHVzLWljb24tc2l6ZTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1mb250LXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5heGlzLXNlY3Rpb24tY29udGVudCB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSk7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYXhpcy1zZWN0aW9uLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIi8qXHJcblxyXG4tLS0tLSBFbGxpcHNpcyAtLS0tLSBcclxuV2hlbiB0aGUgY29udGVudCBpcyB0b28gbG9uZ2VyIHRvIGZpeCB3aXRoaW4gYSB0YWJsZSBjZWxsICggZm9yIGV4YW1wbGUgKSBhbGxvdyB0aGUgdXNlciB0byBzaG93IG92ZXJmbG93aW5nIHRleHQgYnkgaG92ZXJpbmcuXHJcblxyXG5JTVBPUlRBTlQ6IFRoaXMgb25seSB3b3JrcyB3aXRoIHNpbmdsZSBsaW5lcyBvZiB0ZXh0LCBtdWx0aS1saW5lIHlvdSB3aWxsIG5lZWQgdG8gbG9vayBpbnRvIC0td2Via2l0LWxpbmUtY2xhbXAuXHJcbiovXHJcblxyXG4uZWxsaXBzaXMtdGV4dC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZWxsaXBzaXMtdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jazsgIFxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgIFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxuICAgICYuZWxsaXBzaXMtYWN0aXZlIHtcclxuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGFueSBhbmNob3Igb3BhY2l0eS5cclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gQmx1ciAtLS0tLS0gXHJcblRoZSBlZmZlY3QgdGhhdCBnZXRzIGFwcGxpZWQgdGhlIGhlYWRlciwgbWFpbiAmIGZvb3RlciB3aGVuIGEgbW9kYWwgb3IgbWVudSBpcyBvcGVuLCBlc3NlbnRpYWxseSBibHVyJ3Mgb3V0IHRoZSBjb250ZW50IGluIHRoZSBiYWNrZ3JvdW5kIHdoZW4gc29tZXRoaW5nIGlzIG92ZXJsYXlpbmcgdGhlIHBhZ2UncyBtYWluIGNvbnRlbnQuXHJcbiovXHJcblxyXG5cclxuLy8tLS0gQmx1ciBFZmZlY3QgLS0tXHJcbkBpZiBub3QgJGVtYWlsVGVtcGxhdGUge1xyXG4gICAgLy9ET0VTTidUIFdPUksgSU4gSUUgT1IgRURHRVxyXG4gICAgLmJsdXIge1xyXG4gICAgICAgIC0tZGVmdXNlLWFuaW1hdGlvbjogZGVmdXNlQmx1ciAuM3MgZm9yd2FyZHM7XHJcbiAgICAgICAgZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIGFuaW1hdGlvbjogYmx1ciAwLjZzO1xyXG4gICAgICAgICYuZGVmdXNlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IGRlZnVzZUJsdXIgMC4zcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAa2V5ZnJhbWVzIGRlZnVzZUJsdXIge1xyXG4gICAgICAgIDAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDEwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDIwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig4cHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDQwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig2cHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDYwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cig0cHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDgwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigycHgpO1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIDEwMCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgZ2V0cyBjbGljayB0byBkaXNhYmxlIHRoZSBibHVyIGVmZmVjdCBvbiBjb250ZW50LlxyXG4jcGFnZU92ZXJsYXksIC5ibHVyLW92ZXJsYXkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIG9wYWNpdHk6IDAuMTtcclxufSIsIi8qXHJcblxyXG4tLS0tIFN0YXRpYyAtLS0tIFxyXG5EZWRpY2F0ZWQgc3BlY2lmaWNhbGx5IHRvd2FyZHMgdGhlIGxhbmRpbmcgcGFnZSBmb3IgdGhlIHN0YXRpYyBsYW5kaW5nIHBhZ2UgZm9yIGV4cHJlc3MuXHJcblxyXG4qL1xyXG5cclxuQGlmICgkc2l0ZSA9PSBcInN0YXRpY1wiKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDdXN0b20gc3R5bGVzaGVldHMgbGluay5cclxuICAgIC5kZW1vLWxpbmsge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgLy8gRHVlIHRvIHRoZSB2YXJpYXRpb24gaW4gaGVpZ2h0cyBiZXR3ZWVuIHNpdGUgbG9nbydzIHdlIG5lZWQgdG8gc2V0IGEgaGVpZ2h0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLnNpdGUtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuc2l0ZS1hcmVhLXBhZ2VzIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEVmZmVjdCBhbGwgdWwncy5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXZhcmlhbnRzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXZhcmlhbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDVweCAyLjVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2l0ZS1hcmVhLWNlbGwtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc2l0ZS1hcmVhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3RlbXBsYXRlLWV4cHJlc3MtcGFnZS1saXN0IHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5lZWQgdGhpcyBzcGVjaWZpY2FsbHkgZm9yIHRoZSBtb2R1bGVzIHRlc3QgcGFnZXMuXHJcblxyXG4kbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyOiAxMHB4O1xyXG4kbW9kdWxlcy1idXR0b24taWNvbi1zaXplOiAxNnB4O1xyXG4kbW9kdWxlcy1idXR0b24tcGFkZGluZzogNXB4IDEwcHg7XHJcblxyXG5cclxuLm1vZHVsZXMtdGVzdC1wYWdlLWhlYWRlciB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNjtcclxufVxyXG5cclxuLnJvdy1iYWNrZ3JvdW5kLmdyaWQtY29udGFpbmVyIHtcclxuICAgIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwubW9kdWxlLWNvbnRyb2xzIHtcclxuICAgICAgICAvLyBNYWtpbmcgc3VyZSB0aGF0IHJvdyBhbmQgbW9kdWxlIGNvbnRyb2wgcGFuZWxzIGNhbiBuZXZlciBvdmVybGFwICggaS5lIGluIGNvbnRhaW5lZCB2aWV3ICkuXHJcbiAgICAgICAgdG9wOiAjeygkbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyICsgc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1idXR0b24tcGFkZGluZywgMSkgKyAkbW9kdWxlcy1idXR0b24taWNvbi1zaXplICsgNSl9O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICAgLm1vZHVsZXMtY29udHJvbC1wYW5lbCB7XHJcbiAgICAgICAgJi5tb2R1bGUtY29udHJvbHMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgJi5yb3ctY29udHJvbHMge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICAgIC8vIFNvIHRoZSBjb250cm9scyBkb24ndCBvdmVybGFwIHdoZW4gdGhlcmUgaXMgbm8gZ3JpZC1jb250YWluZXIuXHJcbiAgICAmLm1vZHVsZS1jb250cm9scyB7XHJcbiAgICAgICAgdG9wOiA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBnYXA6ICRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXI7XHJcbiAgICBwYWRkaW5nOiAkbW9kdWxlcy1jb250cm9sLWJ1dHRvbnMtZ3V0dGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAvLyBCdXR0b24gc3R5bGVzLlxyXG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vZHVsZS1pbmZvIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEyOSc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGVzLWluZm8tY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgIH1cclxuICAgIC5tb2R1bGVzLWluZm8taGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgLmdlbmVyYWwtaW5mb3JtYXRpb24tcGFuZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gdWwgPiBsaSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDQsIGg1LCBoNiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCRwYXJhZ3JhcGgtZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0LCBoNSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQsIGg1IHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCI6XCI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG5cclxuLS0tLSBTdG9ja2lzdCAtLS0tIFxyXG5TcGVjaWZpY2FsbHkgZm9yIHRoZSBzdG9ja2lzaCBjb21wb25lbnQ6IFxyXG4tIFNvcnRpbmcgYXJlYVxyXG4tIFNlYXJjaCByZXN1bHRzIFxyXG4tIEludGVyYWN0aXZlIG1hcFxyXG5cclxuKi9cclxuXHJcblxyXG4vLyAtLS0tLSBTb3J0aW5nIEFyZWEgLS0tLS0tXHJcbi5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIH1cclxuICAgIC5zb3J0aW5nLW9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgLmFkZHJlc3Mtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjkwcHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2R1Y3QtZmlsdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsdGVyKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWx0ZXItaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGludGVyYWN0aXZlLW1hcC1maWx0ZXItaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VwYXJhdG9yIHtcclxuICAgICAgICBtYXJnaW46IDdweCAwIDJweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG4vLyAtLS0tLSBDb21tb24gc3R5bGVzIGZvciBzZWFyY2ggcmVzdWx0cyArIGludGVyYWN0aXZlIG1hcCAtLS0tLSBcclxuLnN0b2NraXN0LWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTZWFyY2ggUmVzdWx0cyAtLS0tLVxyXG4uaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgIH1cclxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMS41KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVzdWx0LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkcmVzcyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICArIC50ZWxlcGhvbmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICArIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZWxlcGhvbmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndlYnNpdGUtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSg1cHggMzBweCwgJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbWFyeS1idXR0b24tY29sb3VyLCAkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgMTIsJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCksICgwIDQwcHggMCAwLCAwKSk7XHJcbn1cclxuXHJcbi8vIC0tLS0tIEludGVyYWN0aXZlIE1hcCAtLS0tLVxyXG4uaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGxvY2F0aW9uKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5pbnRlcmFjdGl2ZS1tYXAtY29udGFpbmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDYwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgfVxyXG59XHJcbi5pbnRlcmFjdGl2ZS1tYXAge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG4ub3JnYW5pc2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxufVxyXG4uaW50ZXJhY3RpdmUtbWFwLW5vLXJlc3VsdHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbmZvLXdpbmRvdy1hZGRyZXNzLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIge1xyXG4gICAgLmluZm8td2luZG93LWFkZHJlc3MsIC50ZWxlcGhvbmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmluZm8td2luZG93LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBUcmVlIE1lbnUgLS0tLS1cclxuXHJcbiovXHJcblxyXG5cclxuLnRyZWUtbWVudSB7XHJcblx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdH1cclxuICAgIC8vIENvbW1vbiBTdHlsZXMuXHJcbiAgICB1bCB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRsaSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHRcdGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIge1xyXG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHR9XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LW9wZW4pO1xyXG5cdFx0XHRcdHdpZHRoOiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRoZWlnaHQ6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgJGNvbG91cjE7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tZm9udC1zaXplO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdH1cclxuXHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbjtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0bGFiZWwuYWN0aXZlIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1jbG9zZSk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gQ2hpbGQgbm9kZXMuXHJcblx0XHRcdCYgfiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0Ly8gVE9ETzogdGhpcyBuZWVkcyB0byBiZSBtYWRlIGR5bmFtaWNhbGx5LlxyXG5cdFx0XHRcdC8vIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm8sIGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICB9XHJcblx0Ly8gTGV2ZWwgMVxyXG4gICAgPiB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblx0XHQ+IGxpIHtcclxuXHRcdFx0PiBsYWJlbCB7XHJcblx0XHRcdFx0cGFkZGluZzogc21hbGwtdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0xLWxhYmVsLXBhZGRpbmcpO1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206ICR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMS1sYWJlbC1wYWRkaW5nKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOm5vdCgudHJlZS1tZW51LXBhcmVudCkge1xyXG5cdFx0XHRcdC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vIExldmVsIDJcclxuXHRcdFx0PiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuXHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0Ly8gVXNlZCB0byBzaG93IHRoZSBsZXZlbCAyIG5vZGVzIGluIGdyb3Vwcy5cclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206ICR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyO1xyXG5cdFx0XHRcdH1cdFxyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRjb2xvdXIxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206ICR0cmVlLW1lbnUtbm9kZS1zZXBlcmF0b3ItYm9yZGVyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDVweDtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogbGFyZ2UtdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHR0b3A6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAjeyg1ICsgc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogI3soc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZywgMSwgbGFyZ2UpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogI3soc3BhY2luZy12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZywgNCwgbGFyZ2UpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQ+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyBMZXZlbCAzKyAoIDNyZCBsZXZlbCBhbmQgYW55IGxvd2VyIClcclxuXHRcdFx0XHRcdCAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxN3B4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMCAwICN7KCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSl9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxfTtcclxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRvcDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogI3s1ICsgKCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dG9wOiAjeyhzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nLCAxLCBsYXJnZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCgkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdC8vIEV4dGVuZGluZyBsaW5lIG90aGVyd2lzZSBpZiB0aGlzIGlzIG5vdCB0aGUgbGFzdCBjaGlsZCB0aGVuIGEgZ2FwIHdpbGwgZm9ybSBpbiB0aGUgdGhlIHRyZWUncyBsaW5lcy5cclxuXHRcdFx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0PiAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IC0jeygkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMiApICsgMSl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudHJlZS1tZW51LXBhcmVudCB7XHJcblx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR1bCB7XHJcblx0XHRcdC50cmVlLW1lbnUtcGFyZW50IHtcclxuXHRcdFx0XHQ+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAjeyR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplfSk7XHJcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0dG9wOiAtI3skdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZX07XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0LnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogI3soJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKX07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdC8vIEpvaW5zIG5vZGUgdG8gdHJlZS5cclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6ICN7KCgkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpIC0gKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikpfTtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDJweDtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0dG9wOiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDMpfTtcclxuXHRcdFx0XHRcdFx0XHRsZWZ0OiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSl9O1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgLy8gQXNzZXRzIHN0eWxlcy5cclxuICAgICYuYXNzZXRzIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblx0XHQ+IHVsIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1hc3NldHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0XHRcdC8vIE9ubHkgYWRkIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciB0byB0aGUgcGFyZW50IG5vZGUncyBsYWJlbC5cclxuXHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0PiBsYWJlbCB7IFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1hc3NldHMtcm9vdC1sYWJlbC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0XHR9XHRcdFxyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcbiAgICB9XHJcblxyXG5cdC5hdHRhY2htZW50cy1jb250YWluZXIge1xyXG5cdFx0dWwge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0fVxyXG5cdFx0LmF0dGFjaG1lbnQge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0d2lkdGg6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXdpZHRoO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXNpemU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5hbGVydC1ub2RlIHtcclxuXHRcdD4gbGFiZWwge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IC5hbGVydC1jb250YWluZXIge1xyXG5cdFx0XHQudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWJhY2tncm91bmQge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQuYWxlcnQtdmFsdWUge1xyXG5cdFx0XHRcdC52YWx1ZSwgLmxhYmVsIHtcclxuXHRcdFx0XHRcdGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudmFsdWUge1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuXHRcdFx0XHRcdFx0d2lkdGg6ICR0cmVlLW1lbnUtY29udGVudC1pY29uLXdpZHRoO1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1jb250ZW50LWljb24tc2l6ZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFx0XHJcblx0fVxyXG59XHJcblxyXG4udHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0bWF4LXdpZHRoOiA3MDBweDtcclxuXHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0LmFkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHQmOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuXHRcdFx0bWFyZ2luOiAxMHB4IDA7XHJcblx0XHR9XHJcblx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0fVxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubGFiZWwge1xyXG5cdFx0bWF4LXdpZHRoOiAyMjVweDtcclxuXHRcdGZsZXgtZ3JvdzogMTtcclxuXHR9XHJcbn1cclxuXHJcbi50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XHJcblx0cGFkZGluZzogMTBweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuXHR9XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0Ym94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0cGFkZGluZzogMzBweCAyMnB4O1xyXG5cdH1cclxufVxyXG5cclxuLnRyZWUtbWVudS1oZWFkZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRwYWRkaW5nOiAxNXB4IDAgMjBweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdH1cclxuXHQudHJlZS1tZW51LWNvbnRyb2xzIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblx0LnRyZWUtbWVudS1pbmZvcm1hdGlvbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnRyZWUtaW5mb3JtYXRpb24ge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0Ji5hbGVydCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTBweDtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMCA1cHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gLS0tLS0gVG9nZ2xlIGJ1dHRvbnMgZm9yIGNvbGxhcHNpbmcgb3IgZXhwYW5kaW5nIHRoZSBlbnRpcmUgdHJlZSAtLS0tLVxyXG4udHJlZS1tZW51LWV4cGFuZC10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LXNpemU6IC44MTI1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LW9wZW4pO1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyNDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuXHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplO1x0XHRcdFx0XHJcblx0fVxyXG5cdCYuYWN0aXZlIHtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtY2xvc2UpO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qXHJcbi0tLS0tIFJldmlld3MgLS0tLS0gXHJcbi0gSGFuZGxlcyBpbnRlcmZhY2luZyB3aXRoIHRoaXJkLXBhcnR5IHJldmlldyBhcGkncyBsaWtlIGZlZWZvLlxyXG4qL1xyXG5cclxuXHJcbi5yYXRpbmctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgLnJldmlldy1zdGFycyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAuc3Rhci1mdWxsLCBbY2xhc3MqPXJhdGluZy1pY29uXSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJhdGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmV2aWV3LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgLmRpc3BsYXktbmFtZS1jb250YWluZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgJiArIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJy0nO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGlzcGxheS1sb2NhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAubGlzdC1jb3VudC1jb250YWluZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIC5jdXJyZW50LXNob3dpbmctY291bnQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmV2aWV3cy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAucmV2aWV3cy1wYWdlci1jb250YWluZXIge1xyXG4gICAgICAgICYgKyAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VydmljZS1wcm92aWRlci1sb2dvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mZWVmby1sb2dvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skc2hhcmVkLWljb25zLWRpcmVjdG9yeX1mZWVmby1sb2dvLnBuZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmV2aWV3cy1wcm9kdWN0LXJldmlldy1hbGwtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXZpZXctc29jaWFsLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAuaGVscGZ1bC12b3Rlcy1jb250YWluZXIgKyAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGVscGZ1bC12b3Rlcy1jb250YWluZXIge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgIC5oZWxwZnVsLXZvdGVzLWRpc3BsYXkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdm90ZS11cCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiLypcclxuLS0tLS0gUGFnZSBTZWN0aW9uIENvbG91cnMgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZC1jb2xvdXJzIHRvIHNwZWNpZmljIHNlY3Rpb25zIG9uIHNwZWNpZmljIHBhZ2VzIGFjcm9zcyBleHByZXNzIHVzaW5nIHRoZSBib2R5IGlkLCBzbyBhIHBvdGVudGlhbCBjb25maWcgY291bGQgbG9vayBsaWtlIHRoaXM6XHJcblxyXG5oZWFkZXItdXNwLWJhcjogKFxyXG4gICAgYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEsXHJcbiAgICBwYWdlczogKFwiaG9tZXBhZ2VcIilcclxuKVxyXG5cclxuVGhlIHRvcCBsZXZlbCBtYXAga2V5IGlzIHRoZSBjbGFzcyBvZiB0aGUgZWxlbWVudCB0aGF0IHlvdSB3YW50IHRvIGVmZmVjdCB0aGVuIGluc2lkZSBvZiB0aGF0IGlzIHRoZSBjb25maWd1cmF0aW9uIGkuZSBiYWNrZ3JvdW5kIGNvbG91ciArIHdoaWNoIHBhZ2VzIHRvIGFwcGx5IHRoaXMgdG8gd2hpY2ggaXMgYSBsaXN0IG9mIGJvZHkgaWQncy5cclxuKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCAkc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzIGNvbmZpZy5cclxuQGVhY2ggJGVsZW1lbnQsICRjb25maWcgaW4gJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VycyB7XHJcbiAgICAvLyBHZXQgc2VjdGlvbiBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICRiYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBHZXQgcGFnZXMgdGhpcyBpcyBhcHBsaWNhYmxlIHRvby5cclxuICAgICRwYWdlczogbWFwLWdldCgkY29uZmlnLCBwYWdlcyk7XHJcbiAgICBAaWYgKCRwYWdlcykge1xyXG4gICAgICAgIEBlYWNoICRwYWdlIGluICRwYWdlcyB7XHJcbiAgICAgICAgICAgIGJvZHkjI3skcGFnZX0ge1xyXG4gICAgICAgICAgICAgICAgLiN7JGVsZW1lbnR9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRiYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEB3YXJuIFwiUGFnZSBzZWN0aW9uIGNvbG91cnM6IE5vIGJhY2tncm91bmQtY29sb3VyIHByb3ZpZGVkIGZvciAjeyRlbGVtZW50fSwgZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJQYWdlIHNlY3Rpb24gY29sb3VyczogTm8gcGFnZXMgcHJvdmlkZWQgZm9yICN7JGVsZW1lbnR9LCBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgIH1cclxufSIsIi8qXHJcblxyXG4tLS0tIFN0YXIgUmF0aW5ncyAtLS0tIFxyXG5IYW5kbGVzIHN0YXIgcmF0aW5ncyBmb3IgcHJvZHVjdHMsIHRoaXMgc3VwcG9ydHMgcGVyc2VudGFnZSBiYXNlZCByYXRpbmcsIGhlcmUgaXMgYW4gb3ZlcnZpZXcgb2Ygd2hhdCB0aGlzIHdvdWxkIGxvb2sgbGlrZSBodHRwczovL2NvZGVwZW4uaW8vZmlsY3AvcGVuL1F2WlZPZyAuXHJcblxyXG4qL1xyXG5cclxuLnN0YXItcmF0aW5ncy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmF0aW5nKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhY2tncm91bmQtc3RhcnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBpbmFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVybGFwIHRoZSBmb3JlZ3JvdW5kIHN0YXJzIHRvIG1ha2UgdGhlbSBhcHBlYXIgbGlrZSB0aGV5J3JlIGNvbG91cmluZyBpbiB0aGUgYmFja2dyb3VuZCBzdGFycy5cclxuICAgIC5mb3JlZ3JvdW5kLXN0YXJzIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBbY2xhc3MqPXJhdGluZy1pY29uLV0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3V0cHV0IHJhdGluZyB0b3RhbHMgKCBpLmUgYXZlcmFnZSwgbWF4ICYgdG90YWwgY291bnQgKVxyXG4gICAgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJhdGluZy1zdW1tYXJ5LWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAuYnJlYWtkb3duLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLmJyZWFrZG93bi1zdGFycy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG59XHJcbi5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgLnBlcmNlbnRhZ2UtYmFyIHsgXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmJhY2tncm91bmQtYmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLnBlcmNlbnRhZ2UtYmFyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBpbmFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcmVncm91bmQtYmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLnBlcmNlbnRhZ2UtYmFyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYnJlYWtkb3duLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMzBweDtcclxufVxyXG4udG9vbHRpcC1jb250ZW50LWNvbnRhaW5lciAuYnJlYWtkb3duLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBCYXJjb2RlIFNjYW5uZXIgLS0tLS0tIFxyXG5cclxuKi9cclxuXHJcbi5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTBweCAxNXB4LCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1jb2xvdXIsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1ib3JkZXItY29sb3VyLWRlc2t0b3AsIGdldC1idXR0b24tZm9udC1zaXplKFwiYXNzb2NpYXRlZFwiKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoJ2Fzc29jaWF0ZWQnKSwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50KSwgMCwgZmxleCwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWljb24tY29uZmlnLCAxKTtcclxufVxyXG5cclxuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmJhcmNvZGUtc2Nhbm5lcntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZpZGVvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAvLyBWaWV3IGZpbmRlciBvdmVybGF5LlxyXG4gICAgY2FudmFzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICAgICYuaXMtaW5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiA0OTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3soMTVweCArICgoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgLSAyKSAqIDIpICsgJHRvb2x0aXAtaW5mby1pY29uLXNpemUpfSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLmJhcmNvZGUtc2Nhbm5lci1yZXNwb25zZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59IiwiLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIEltYWdlIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQgaW1hZ2UocykgdG8gc3BlY2lmaWMgcGFnZSB0eXBlcyB1c2luZyB0aGUgYm9keSBpZCwgcG9zc2libGUgY29uZmlndXJhdGlvbjpcclxuXHJcbmhvbWVwYWdlOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlID0+IFsgUkVRVUlSRUQgXSBUaGUgdXJsIG9mIHRoZSBpbWFnZS5cclxuICAgIHJlcGVhdC1iYWNrZ3JvdW5kID0+IFsgT1BUSU9OQUwgXSBUaGlzIGRlZmF1bHRzIHRvIG5vLXJlcGVhdC5cclxuICAgIGJhY2tncm91bmQtc2NhbGUgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gY292ZXIuXHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnRzID0+IFsgT1BUSU9OQUwgXVxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbiA9PiBbIE9QVElPTkFMIF1cclxuKVxyXG5cclxuKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCAkcGFnZS1iYWNrZ3JvdW5kLWltYWdlcyBjb25maWcuXHJcbkBlYWNoICRwYWdlLCAkY29uZmlnIGluICRwYWdlLWJhY2tncm91bmQtaW1hZ2VzIHtcclxuICAgIC8vIEdldCBzZWN0aW9uIGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgJGJhY2tncm91bmQtaW1hZ2U6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAvLyBTaG91bGQgd2UgcmVwZWF0IHRoZSBiYWNrZ3JvdW5kP1xyXG4gICAgJHJlcGVhdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIHJlcGVhdC1iYWNrZ3JvdW5kKTtcclxuICAgIC8vIEhvdyBzaG91bGQgd2Ugc2NhbGUgdGhlIGJhY2tncm91bmQ/XHJcbiAgICAkYmFja2dyb3VuZC1zY2FsZTogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLXNjYWxlKTtcclxuICAgIC8vIEJhY2tncm91bmQgYXR0YWNobWVudCAoIHBhcmFsbGF4IGVmZmVjdCApP1xyXG4gICAgJGJhY2tncm91bmQtYXR0YWNobWVudDogaWYoY29udGFpbnMoJGNvbmZpZywgXCJiYWNrZ3JvdW5kLWF0dGFjaG1lbnRcIiksIG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1hdHRhY2htZW50KSwgZmFsc2UpO1xyXG4gICAgLy8gQmFja2dyb3VuZCBwb3NpdGlvblxyXG4gICAgJGJhY2tncm91bmQtcG9zaXRpb246IGlmKGNvbnRhaW5zKCRjb25maWcsIFwiYmFja2dyb3VuZC1wb3NpdGlvblwiKSwgbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLXBvc2l0aW9uKSwgZmFsc2UpO1xyXG4gICAgQGlmICgkYmFja2dyb3VuZC1pbWFnZSkge1xyXG4gICAgICAgIGJvZHkjI3skcGFnZX0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRiYWNrZ3JvdW5kLWltYWdlfVwiKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IGlmKCRyZXBlYXQtYmFja2dyb3VuZCwgI3skcmVwZWF0LWJhY2tncm91bmR9LCBuby1yZXBlYXQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGlmKCRiYWNrZ3JvdW5kLXNjYWxlLCAjeyRiYWNrZ3JvdW5kLXNjYWxlfSwgY292ZXIpO1xyXG4gICAgICAgICAgICBAaWYgJGJhY2tncm91bmQtYXR0YWNobWVudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6ICRiYWNrZ3JvdW5kLWF0dGFjaGVtZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkYmFja2dyb3VuZC1wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkYmFja2dyb3VuZC1wb3NpdGlvbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEB3YXJuIFwiUGFnZSBCYWNrZ3JvdW5kczogTm8gYmFja2dyb3VuZCBpbWFnZSBwcm92aWRlZCBmb3IgcGFnZSAjeyRwYWdlfVwiO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gVGFncyAtLS0tLVxyXG5Vc2VkIHRvIGRpc3BsYXkgYSBjYXRhZ29yaXNhdGlvbiBvZiBncm91cHMgLyBrZXl3b3JkcywgdGhpcyBpYSBwcmltYXJpbHkgdXNlZCBpbiB0aGUgY21zIHN5c3RlbSBjdXJyZW50bHkgZm9yIGRpcGxzYXkgbmV3cywgYmxvZ3MgJiBldmVudCdzIGFydGljbGVzLlxyXG4qL1xyXG5cclxuLnRhZ2dpbmctY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvLyBJcyB0aGlzIGlzIGEgbGlzdGluZyBwYWdlP1xyXG4gICAgJi5saXN0aW5nIHtcclxuICAgICAgICAudGFnZ2luZy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFncy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiA1cHggMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFnZ2luZy1oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICAudGFnZ2luZy1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG4gICAgLy8gVGhlIGFjdHVhbCB0YWcuXHJcbiAgICAudGFnLWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIC8vbWFyZ2luOiA1cHggMDtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMThweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhZy1yZW1vdmUpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEF4aXMgVG9nZ2xlciAtLS0tLVxyXG5CdWlsZCBvbnRvcCBvZiBGb3VuZGF0aW9ucyB0b2dnbGVyIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy90b2dnbGVyLmh0bWwsIHdlIG5lZWRlZCB0byBhZGQgaW4gc29tZSBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgZm9yIHJlLXRvZ2dsaW5nIGlmIHRoZSB1c2VyIGNsaWNrcyBvdXRzaWRlIG9mIHRoZSBjb250ZW50IGFyZWEuXHJcbiovXHJcblxyXG4udG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAudG9nZ2xlLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC8vIE11c3QgYmUgc2V0IHNvIGNvbnRlbnQgb3ZlcmxhcHMgdGhlIGJhY2tncm91bmQuXHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFBhZ2UgQmFja2dyb3VuZCBDb2xvdXJzIC0tLS0tXHJcblNpbWlsYXIgdG8gYXhpcy1zZWN0aW9uLWNvbG91cnMgYSBjdXN0b20gY29uZmlnIGlzIHByb3ZpZGUgd2hpY2ggZ2V0cyBsb29wZWQgdGhyb3VnaCBhc3NpZ25pbmcgdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgdG8gdGhlIHJlbGlldmVudCBwYWdlcy5cclxuXHJcbk5PVElDRTogSGFkIHRvIHNldCB0aGUgIWltcG9ydGFudCBmbGFnIG9uIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHByb3BlcnR5IGR1ZSB0byBmb3VuZGF0aW9uIGVuZm9yaW5nIHRoYXQgdGhlIGJvZHkgYmFja2dyb3VuZCBjb2xvdXIgbXVzdCBiZSBzZXQuXHJcbiovXHJcblxyXG4vLyBMb29wIHRocm91Z2ggJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VycyBjb25maWcuXHJcbkBlYWNoICRwYWdlLCAkY29uZmlnIGluICRwYWdlLWJhY2tncm91bmQtY29sb3VycyB7XHJcbiAgICBAaWYgKCRwYWdlID09IGFsbCkge1xyXG4gICAgICAgIGJvZHkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJvZHkjI3skcGFnZX0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIE11bHRpIEZpZWxkIExvb2t1cCAtLS0tLVxyXG5cclxuUHJvdmlkZXMgYW4gYXJlYSB0byBwbGFjZSBvcHRpb25zICggaS5lIGEgZm9ybSBpbiBhIGhvcml6b250YWwgbGF5b3V0ICkgd2hpY2ggdGhlbiBnZXRzIGZpbGxlZCBpbiB0byB1cGRhdGUgbXVsdGlwbGUgcG9pbnRzIG9uIHRoZSBwYWdlLlxyXG5cclxuKi9cclxuXHJcbi5tdWx0aS1maWVsZC1sb29rdXAge1xyXG4gICAgJi5xdWljay1vcmRlciB7XHJcbiAgICAgICAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTkwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubG9va3VwLXF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5wdXQtbnVtYmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBhdC1yb290IHtcclxuICAgICAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgICYuc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBxdWljay1vcmRlci1mb3JtLXByZWZpeC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBhdC1yb290IHsgXHJcbiAgICAgICAgICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBSZWR1Y2luZyBtYXJnaW4gYm90dG9tIGFzIG9uLXBhZ2Utbm90aWZpY2F0aW9ucyBhbHJlYWR5IGhhdmUgMTBweCB0b3AgKyBib3R0b20gcGFkZGluZy5cclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb29rdXAtb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgICYubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sb29rdXAtb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICYuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIGJ1dHRvbiBhcmUgY2FwcGVkIGF0IHRoZSBzYW1lIGhlaWdodCBhIHRoZSBpbnB1dHMuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXQgdGhlIGNvbnRhaW5lcnMgZGljdGF0ZSB0aGUgd2lkdGggYW5kIGp1c3Qgc29hayB1cCB0aGUgYXZpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubXVsdGktZmllbGQtcmVzcG9uc2UtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsvKiFcbiAqIGFuaW1hdGUuY3NzIC0gaHR0cHM6Ly9hbmltYXRlLnN0eWxlL1xuICogVmVyc2lvbiAtIDQuMS4xXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEFuaW1hdGUuY3NzXG4gKi9cbjpyb290IHtcbiAgLS1hbmltYXRlLWR1cmF0aW9uOiAxcztcbiAgLS1hbmltYXRlLWRlbGF5OiAxcztcbiAgLS1hbmltYXRlLXJlcGVhdDogMTtcbn1cbi5hbmltYXRlX19hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGUtZHVyYXRpb24pO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9faW5maW5pdGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDMpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTFzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7XG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMnMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktM3Mge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAzKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMyk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdGVyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzIC8gMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAvIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAzKTtcbn1cbkBtZWRpYSBwcmludCwgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmFuaW1hdGVfX2FuaW1hdGVkW2NsYXNzKj0nT3V0J10ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi8qIEF0dGVudGlvbiBzZWVrZXJzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLFxuICAyMCUsXG4gIDUzJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApIHNjYWxlWSgxLjEpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZVkoMC45NSk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKSBzY2FsZVkoMS4wMik7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsXG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fcnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zaGFrZVgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVg7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlWSB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NoYWtlWSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5hbmltYXRlX19oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG4uYW5pbWF0ZV9fc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3RhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3dvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbi5hbmltYXRlX19qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLmFuaW1hdGVfX2hlYXJ0QmVhdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGhlYXJ0QmVhdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAxLjMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuLyogQmFjayBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDtcbn1cbi8qIEJhY2sgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXRVcDtcbn1cbi8qIEJvdW5jaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuLyogQm91bmNpbmcgZXhpdHMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbn1cbi8qIEZhZGluZyBlbnRyYW5jZXMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDtcbn1cbi8qIEZhZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDtcbn1cbi8qIEZsaXBwZXJzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwT3V0WSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cbi8qIExpZ2h0c3BlZWQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuLyogUm90YXRpbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbi8qIFJvdGF0aW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cbi8qIFNwZWNpYWxzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2hpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4uYW5pbWF0ZV9famFja0luVGhlQm94IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xuICBhbmltYXRpb24tbmFtZTogamFja0luVGhlQm94O1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cbi8qIFpvb21pbmcgZW50cmFuY2VzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xufVxuLyogWm9vbWluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuLyogU2xpZGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xufVxuLyogU2xpZGluZyBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59XG4iLCJcclxuLypcclxuXHJcbi0tLS0tIEF4aXMgRWxlbWVudCBQcmludCAtLS0tLSBcclxuQWxsb3dzIHlvdSB0byBzZWxlY3QgYW4gZWxlbWVudCB0byBiZSBwcmludGVkIGluc2lkZSBvZiB0aGUgRE9NLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIGdlbmVyYWwgZm9ybWF0dGluZyBvZiB0ZXh0IHdoZW4gaW4gcHJpbnQgdmlldyBhbmQgd2hpY2ggZWxlbWVudCBzaG91bGQgYmUgZXhjbHVkZWQgYXMgaXQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciB0aGVtIHRvIGJlIHRoZXJlLlxyXG5cclxuKi9cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICAucGUtbm8tcHJpbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAucGUtcHJlc2VydmUtYW5jZXN0b3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZW1vdmUgYW55IHN0aWNrIGVsZW1lbnRzIGFzIHRoaXMgcmVhbGx5IGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwgaW4gcHJpbnRlciB2aWV3LlxyXG4gICAgW2RhdGEtYXhpcy1zdGlja3ldLCBbZGF0YS1zdGlja3ktY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoaXMgaXMgbm90IG5lZWRlZCBpbiBwcmludCB2aWV3LlxyXG4gICAgLmVucXVpcnktZmlsdGVycyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuY2FsbC10eXBlLWljb24sIC5jYWxsLXNvdXJjZS1pY29uIHtcclxuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XHJcbiAgICAgICAgLy8gRm9yY2UgbnV0dXJhbCBjb2xvdXJzLlxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcclxuICAgICAgICAvLyBGb3JjZSBudXR1cmFsIGNvbG91cnMuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgLy8gRm9yY2UgbnV0dXJhbCBjb2xvdXJzLlxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHJ1bGUgZHVlIHRvIGJhY2tncm91bmQgY29sb3JzIGJlaW5nIHN1cHByZXNzZWQsIGFsc28gaW5jcmVhc2luZyB3ZWlnaHQgZm9yIHBvb3IgcXVhbGl0eSBwcmludGVycy5cclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvdXIzLTIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEb24ndCBzaG93IHBhZ2UgYnV0dG9ucy5cclxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyLCAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gTWFrZSBhbGwgdGV4dCBpcyB2aXNpYmxlLlxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gU2V0dGluZyBwb3NpdGlvbiBhYnNvbHV0ZSBvdGhlcndpc2UgaWYgdGhlIG1vZGFsIGNvbnRlbnQgaXMgYmlnZ2VyIHRoYW4gYSBBNCBwYWdlIHRoZSBjb250ZW50IGdldHMgY3V0IG9mZiBkdWUgdG8gb2J2aW91c2x5IG5vdCBiZWluZyBhYmxlIHRvIHNjcm9sbC5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBEb2N1bWVudGF0aW9uIC0tLS0tLSBcclxuU3BlY2lmaWNhbGx5IGhhbmRsZXMgdGhlIHN0eWxpbmcgZm9yIEFYSVMgRG9jdW1lbnRhdGlvbiwgdGhlcmUgd2lsbCBiZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiB0aGlzIGNvZGUgYW5kIGNtcyBjb250YWluZXJzLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIHRoZSBmb2xsb3dpbmcgcGFnZSB0eXBlczpcclxuLS0gUHJvZHVjdHNcclxuLS0tLSBCb29rc1xyXG4tLS0tLS0gQ2hhcHRlcnNcclxuLS0tLS0tLS0gQXJ0aWNsZXNcclxuLS0tLS0tLS0gRnVuY3Rpb25zXHJcbi0tLS0tLS0tLS0gQXJ0aWNsZVxyXG4qL1xyXG5cclxuXHJcbi8vIEhvbGRzIHRoaW5ncyBsaWtlIGRvY3VtZW50YXRpb24gc2VhcmNoLCBhY2Nlc3MgbGV2ZWwuXHJcbi5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICB9XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLXpvbmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGNvbnZlbnRpb24gb2Ygc3Bhbm5pbmcgdGhlIGVudGlyZSB3aWR0aCB1c2VkIHdoZW4gZGlzcGxheWluZyBhIGNvbnZlbnRpb25hbCBmb3JtLlxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1zZWFyY2gge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0MjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTc1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzVweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vIERvY3VtZW50YXRpb24gbGlzdFxyXG4uZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmRlcGFydG1lbnQtY29sb3VyLXBhbGV0dGUsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuc2l0ZS1zdHlsZSB7XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICYgKyAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgJi5zdHJpcGVzIHtcclxuICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhIHN1Ym1lbnUgdGhlbiByZXZlcnQgdGhlIG9yZGVyLlxyXG4gICAgICAgICAgICAgICAgICAgIGxpLmlzLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGdhcDogMCA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEtlZXAgY29udGV4dCBtZW51IGlubGluZSB3aXRoIGFuY2hvci5cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRmdW5jdGlvbnMtbWVudS1pdGVtLXBhZGRpbmcsIDEpIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiB0aGUgdG9vbHRpcCBpY29uIGlzIGlnbm9yaW5nIHRoZSBhbGlnbi1pdGVtOiBiYXNlbGluZTsgc2V0IG9uIHRoZSBwYXJlbnQgbGkgdGhpcyB2YXJpZXMgZGVwZW5kYW50IG9uIHRoZSBmb250IGJlaW5nIHVzZWQsIHNvIHRoaXMgd2FzIHRoZSBvbmx5IHdhcyB0byBnZXQgY29uc2lzdGFudCBiZWhhdm91ci5cclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmluZGV4IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFR5cGljYWxseSB1c2VkIGZvciBwYWdlIGludHJvJ3MuXHJcbi5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIge1xyXG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogNTZweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAmLmxheW91dC0xIHtcclxuICAgICAgICBtYXJnaW46IDM1cHggMCA0NXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0NXB4IDAgNTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLXN1Yi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0zKSwgNTBweCwgMXB4LCAocmlnaHQ6IDAsIGJvdHRvbTogMCxcclxuICAgICAgICAgICAgbGVmdDogMCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubGF5b3V0LTIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiA4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSwgaDIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1pbnRyby1zdWItaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRkb2N1bWVudGF0aW9uLWludHJvLWJhbm5lci1ib3JkZXItd2lkdGggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogNXB4IDI1cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIC8vIEp1c3QgbGV0IHRoZSBjb250ZW50IGZhbGwgb24gdGhlIHBhZ2UuXHJcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBhdHRhY2htZW50IHN0eWxlcy5cclxuICAgIC5hdHRhY2htZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyKTsgICBcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEJlc3Bva2UgaWNvbnMgZm9yIHRoaXMgYXJlYS5cclxuICAgICAgICAmLnByaW50ZXItbGluayB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwcmludGVyKTtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb2N1bWVudGF0aW9uLXB1YmxpYy1saW5rIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZG9jdW1lbnRhdGlvbi1wdWJsaWMtdXJsKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvY3VtZW50YXRpb24tc3RhdGlzdGljcyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGRvY3VtZW50YXRpb24tc3RhdGlzdGljcyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoZSBkb2N1bWVudGF0aW9uIGhlYWRpbmcgc3R5bGVzIGFyZSB1c2luZyB0aGVzZSBydWxlcyBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgY21zLWhlYWRpbmcgbWl4aW4sIHRoZSBtb3N0IG9idmlvdXMgcnVsZSBjb25mbGljdGlvbiBpcyBub3QgdXNpbmcgdGhlIHByaW1hcnktY29sb3VyIGZvciB0aGUgdGV4dCBjb2xvdXIsIHRoZXJlIGlzIGFsc28gbW9yZSBvZiBhIHVzZSBvZiBydWxlcyB3aXRoIGgxICYgaDIuXHJcbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIHtcclxuICAgIGgxIHtcclxuICAgICAgICAvLyBBZGp1c3RpbmcgYWdhaW4gYXMgdGhlIHJ1bGUgaXMgcHV0IHRoZSBhYm92ZSBjb250ZW50IGF3YXkgYW5kIG1ha2UgdGhlIGNvbnRlbnQgYmVsb3cgc2VlbSBjbG9zZSB0byBmb3JtIG1vcmUgb2YgYSBncm91cGVkIGFmZmVjdC5cclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDEpOyBcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTIpKTtcclxuICAgICAgICAmICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogIG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDIpO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTIpKTtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgzKTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMikpO1xyXG4gICAgfVxyXG5cclxuICAgIGg0IHtcclxuICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNCk7IFxyXG4gICAgICAgcGFkZGluZzogMDtcclxuICAgICAgIGNvbG9yOiAkaGVhZGluZy00LWNvbG91cjtcclxuICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg1KTsgXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctNS1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICBoNiB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg2KTsgXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb2xvcjogJGhlYWRpbmctNi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAmLmluZGVudGVkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIH1cclxuICAgICYuaW5kZW50ZWQtcnVsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyMy0yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lci1tYXJnaW47XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1wYWRkaW5nO1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGluay1ydWxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWZvb3Rlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWZvb3Rlci1jb250YWluZXIge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtcGFkZGluZztcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmstcnVsZTtcclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgLy8gUG9zaXRpb24gcmVsYXRpdmUgcmVxdWlyZSB0byBrZWVwIGNvbnRleHQgbWVudSBpbiBwbGFjZS5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuXHJcbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGg7XHJcbiAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1ibG9ja3F1b3RlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMteW91dHViZS12aWRlbygpO1xyXG4gICAgQGluY2x1ZGUgY21zLWNvZGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgQGluY2x1ZGUgY21zLWltYWdlKCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSB7XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgJi5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5LCBhLCB0YWJsZSB0aGVhZCB0aCwgdGFibGUgdGJvZHkgdGQge1xyXG4gICAgICAgIGNvbG9yOiAkZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1ub3QtcHVibGlzaGVkIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLy8gTWFrZSBzdXJlIGlmIGFuIGl0ZW0gaGFzIGEgdG9nZ2xlIGJ1dHRvbiB0aGF0IGNoaWxkIGl0ZW0ocykga2VlcCBpdGVtIGRlc2NyaXB0aW9ucyBpbmxpbmUuIFxyXG51bC5mdW5jdGlvbnMtbGlzdDpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICAvLyBLZWVwaW5nIGNvbnNpc3RhbnQgYWNyb3NzIGFsbCBkZXZpY2VzIC5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBEbyB0aGUgc2FtZSBmb3IgbG93ZXIgbGV2ZWwgbWVudXMuXHJcbiAgICB1bC5tZW51Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudS5mdW5jdGlvbnMtbGlzdCB7XHJcbiAgICAtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgID4gbGkge1xyXG4gICAgICAgID4gdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT25seSBhZmZlY3QgdGhlIHJvb3QgbGV2ZWwuXHJcbiAgICA+IGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3VyMTtcclxuICAgIH1cclxuICAgIC8vIENhc2NhZGUuXHJcbiAgICBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgLy8gQWxpZ25pbmcgdG8gdGhlIGNlbnRlciBkdWUgdG8gaW5jb25zaXN0YW5jaWVzIGluIGljb24gbGlicmFyaWVzIGFuZCBmb250IGxpYnJhcnlzLlxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBTbyB0aGUgY29udGV4dCBtZW51IHJlbWFpbnMgaW4gdGhlIHNhbWUgcGxhY2Ugd2hlbiBjYXNjYWRpbmcgZG93biB0aGUgbGV2ZWxzIGluIGEgbGlzdC5cclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICA+IGEsID4gYnV0dG9uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgdG9nZ2xlIGJ1dHRvbiBhbGxvdyB0aGF0IHRvIHN0cmluayB0aGlzIGNvbnRlbnQgdG8gZml0IG5leHQgdG8gaXQuXHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZ1bmN0aW9ucy1tZW51LWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZnVuY3Rpb25zLW1lbnUtYXJyb3ctc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldmVsIDIuXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbmRleCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbGxvdyBpbmRleCB0byBkaWN0YXRlIGhvdyBtdWNoIHNwYWNlIHRvIHNwYW4gYWNyb3NzLlxyXG4gICAgICAgIC5saW5rLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuaGFzLXN1Ym1lbnUtdG9nZ2xlIHtcclxuICAgIC8vICAgICBhIHtcclxuICAgIC8vICAgICAgICAgLy8gQWRkaW5nIHBhZGRpbmcgYWxpZ24gY29udGVudCB2ZXJ0aWNhbGx5IGNlbnRlcmFsIHRvIHRoZSBjaGV2cm9uIGluIHRoZSB0b2dnbGUtYnV0dG9uLlxyXG4gICAgLy8gICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCB7XHJcbiAgICA+IGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgcGFkZGluZzogMTBweCA1cHg7IFxyXG4gICAgfVxyXG4gICAgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYnJlYWRjcnVtYnMtc2VwZXJhdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgN3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucmVzdWx0cy1zbmlwcGV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAuZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGUgc2Vjb25kYXJ5LWJ1dHRvbiBzdHlsZXMgc2xpZ2h0bHkgdG8gY29uZm9ybSB3aXRoIG90aGVyIGRvY3VtZW50YXRpb24gYnV0dG9ucy5cclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN0YXRpc3RpY3MgcGFnZS5cclxuLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBdWRpdCB0cmFpbCAvIHJldmlzaW9uIHJlbGF0ZWQgZWxlbWVudHMuXHJcbi5yZXZpc2lvbi1jb3VudC1jb250YWluZXIge1xyXG4gICAgJi5zZXBlcmF0b3Ige1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNXB4OyAvLyByZWR1Y2luZyBkdWUgdG8gYWNjb3VudCBmb3IgbGluZS1oZWlnaHQuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGlzIGRpc3BsYXllZCBvbiB0aGUgcHJldmlldyBwYWdlLlxyXG4ucmV2aXNpb24taW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHtcclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFRoaXMgd2FzIG9yaWdpbmFsbHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBzdGF0aWMgYnVpbGQgZ29vZ2xlLXRhZy1tYW5hZ2VyLWV2ZW50cy5cclxuLnRlY2huaWNhbC1kb2N1bWVudGF0aW9uLWxpc3QtY29udGFpbmVyIHtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tZGVtby1saW5rLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xyXG59XHJcblxyXG4uaW5zcGVjdC1wcm9tcHQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5leHByZXNzLWNvbmZpZ3VyYXRpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDI1cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG4gICAgfVxyXG4gICAgLmNvbmZpZ3VyYXRpb24tc2VjdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb25maWd1cmF0aW9uLWludHJvZHVjdGlvbi1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRlY2huaWNhbC1saXN0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXRlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RhdGUtY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tc3RhdGUtY29sb3VyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAtLXN0YXRlLWNvbG91cjogdmFyKC0td2FybmluZy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAua2V5LXZhbHVlLXBhaXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm5ldXRyYWxpc2VkLWl0ZW1zIHtcclxuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbiAgICAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAubmFtZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCI9PlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnZhbHVlIHtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBDb250ZXh0IE1lbnUgLS0tLS0tIFxyXG5Fc3NlbnRpYWxseSBhIHRvb2xiYXIgLyB0b29sYm94IG1lbnVcclxuKi9cclxuXHJcbi5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIHotaW5kZXg6ICRjb250ZXh0LW1lbnUtY29udGFpbmVyLXotaW5kZXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlLCAmLmlzLWNsb3Npbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHotaW5kZXg6ICN7KCRjb250ZXh0LW1lbnUtY29udGFpbmVyLXotaW5kZXggKyAxKX07XHJcbiAgICB9XHJcblxyXG4gICAgb2wsIHVsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb2wsIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBXaWxsIGJlIG9rIGF0IHRoZSB0aW1lIG9mIGJ1aWxkaW5nIGJ1dCBtYXkgaGF2ZSB0byBleHRlbmQgaW4gdGhlIGZ1dHVyZSB0byB1c2UgSlMgdG8gZ2l2ZSBhbiBleGFjdCBtZWFzdXJlLlxyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHJvdGF0ZSgyNWRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9sLCB1bCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvL2JvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBIZWlnaHQgdXNlZCB0byBzdG9wIGJvcmRlcnMgZnJvbSBvdmVybGFwcGluZyB0cmlnZ2VyIGJ1dHRvbiBoZWlnaHQuXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXRlLW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcblxyXG4gICAgLmVkaXQtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLy8gRHVlIHRvIHVzaW5nIGEgbWl4dHVyZSBvZiBmb250IGZhbWlsaWVzIGhhdmluZyB0byBzZXQgdG8gY2VudGVyIGluc3RlYWQgb2YgYmFzZWxpbmUuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNy41cHggMTBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNDVweDtcclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWVudS1vcHRpb24tbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbW1vbiBzdHlsZXMgYmV0d2VlbiBhbGwgYnV0dG9ucy5cclxuICAgICAgICAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAubWVudS1vcHRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIFN0YXR1cyBPcHRpb25zLlxyXG4gICAgICAgICYuYWNjZXNzLWxldmVsIHtcclxuICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtYWNjZXNzLWxldmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTAge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTEge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLTIge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYmxhY2stY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMywgJi5zdGF0ZS12YWx1ZS00IHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnB1Ymxpc2hlZCB7XHJcbiAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LXB1Ymxpc2hlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS10cnVlIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS1mYWxzZSB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFZGl0IE9wdGlvbnMuXHJcbiAgICAgICAgJi5lZGl0LW1lbnUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tZW51LWVkaXQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZWRpdC10ZXh0IC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZWRpdC10ZXh0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVkaXQtcHJvcGVydGllcyAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWVkaXQtcHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1lZGl0LXByb3BlcnRpZXMtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW92ZS11cCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1vdmUtdXApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1vdmUtZG93biAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1vdmUtZG93bik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zZXJ0LWJlZm9yZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1iZWZvcmUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLWNvbnRleHQtbWVudS1pbnNlcnQtYmVmb3JlLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmluc2VydC1hZnRlciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1hZnRlcik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1hZnRlci1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wcm9tb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtcHJvbW90ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGVtb3RlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZGVtb3RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZWxldGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1kZWxldGUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW92ZS1hcnRpY2xlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbW92ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXVkaXQtdHJhaWwgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1hdWRpdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIEdyYWR1YXRlZCBDb2xvdXIgRWRnZSAtLS0tLS0gXHJcbkVkZ2UgZWZmZWN0IHdoZXJlIHRoZSBpcyB0eXBpY2FsbHkgMyB0b25lcyBvZiBhIHNwZWNpZmljIGNvbG91ciBpbiB0aGUgY29ybmVyIG9mIGEgZWxlbWVudCAvIGNvbXBvbmVudC5cclxuUG9zc2libGUgY2xhc3MgY29uZmlndXJhdGlvbiBvcHRpb25zOlxyXG4tIE9wYWNpdHkgZW51bWVyYXRpb24gKCBIaWdoLCBNZWRpdW0sIExvdyApXHJcbi0gUG9zaXRpb24gVG9wICsgQm90dG9tIEwgJiBSIGNvcm5lcnNcclxuXHJcbkZvciBhIGRlbW9uc3RyYXRpb24gZ28gdG8gL3N0YXRpYy9ncmFkdWF0ZWQtY29sb3VyLWVkZ2UtdGVzdC5odG1sXHJcbiovXHJcblxyXG5cclxuXHJcbi5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uge1xyXG4gICAgLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQ6IHZhcigtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0LCAjeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utc3RlcC1oZWlnaHR9KTtcclxuICAgICRncmFkdWF0ZWQtc3RlcC13aWR0aDogNjAwcHg7XHJcbiAgICB3aWR0aDogJGdyYWR1YXRlZC1zdGVwLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBUb3AgTGVmdC5cclxuICAgICYucG9zaXRpb24tMSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0jeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAvLyBUb3AgUmlnaHQuXHJcbiAgICAmLnBvc2l0aW9uLTIge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgIC8vIEJvdHRvbSBMZWZ0LlxyXG4gICAgJi5wb3NpdGlvbi0zIHtcclxuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgIC8vIEJvdHRvbSBSaWdodC5cclxuICAgICYucG9zaXRpb24tNCB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0jeyRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfWRlZyk7XHJcbiAgICB9XHJcbiAgICAmLm9wYWNpdHktMSB7XHJcbiAgICAgICAgLnN0ZXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcclxuICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYub3BhY2l0eS0yIHtcclxuICAgICAgICAuc3RlcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC42O1xyXG4gICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5vcGFjaXR5LTMge1xyXG4gICAgICAgIC5zdGVwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMjtcclxuICAgICAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RlcCB7XHJcbiAgICAgICAgd2lkdGg6ICRncmFkdWF0ZWQtc3RlcC13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQXhpcyBSaWNoIFRleHQgRWRpdG9ycyAtLS0tLSBcclxuQmVzcG9rZSBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHdoZW4gaW50ZXJncmF0aW5nIHdpdGggdGhpcmQtcGFydHkgZWRpdG9ycy5cclxuXHJcbkdlbmVyYWwgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB0byAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIgd2hpY2ggaXMgdGhlIGNvbW1vbiBjb250YWluZXIgdGhhdCBnZXRzIHVzZWQgYWNyb3NzIGFsbCBlZGl0b3JzLlxyXG4qL1xyXG5cclxuLy8gTWFrZSBzdXJlIGNrZWRpdG9yJ3MgY29udGVudCBvdmVybGFwcyBtb2RhbHMgYXMgaXQgZG9lcyBET00gbWFuaXBsYXRpb24gb3V0c2lkZSBvZiBtb2RhbHMuXHJcbi5jay1ib2R5LXdyYXBwZXIge1xyXG4gICAgLy8gTWFrZSBzdXJlIGNvbnRlbnQgb3ZlcmxhcHMgbW9kYWxzLlxyXG4gICAgei1pbmRleDogI3soJG1vZGFsLWNvbnRlbnQtei1pbmRleCArIDIwKX07XHJcbiAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2stZWRpdG9yIHtcclxuICAgIC5jay1jb250ZW50IHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB7XHJcbiAgICAvLyBFZGl0b3Igc3BlY2lmaWMgQ1NTIHZhcmlhYmxlcy5cclxuICAgIC0tY2stY29sb3ItYmFzZS1ib3JkZXI6ICN7JGNvbG91cjMtMX07XHJcbiAgICAtLWNrLWNvbG9yLWJhc2UtZXJyb3I6ICN7bWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKX07XHJcbiAgICAtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmc6ICN7c3BhY2luZy12YWx1ZSgkY21zLWltYWdlLXNwYWNpbmcsIDEpfTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC0tY2stY29sb3ItaW1hZ2UtY2FwdGlvbi10ZXh0OiAjeyRib2R5LWZvbnQtY29sb3VyfTtcclxufVxyXG4vLyBNYWtlIHN1cmUgdGV4dCBhcmVhIGlzIG5vdCBzaG93biB3aGVuIGluaXRpYWxpc2luZy5cclxuW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXSB7XHJcbiAgICAvLyBCZWZvcmUgaW5pdGlhbGlzYXRpb24gbWFrZSBzdXJlIGNvbnRlbnQgaXMgbWluLWhlaWdodDogMTAwcHggZm9yIHNwaW5uZXIuXHJcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICAgICY6bm90KC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lcikge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICB9XHJcbiAgICA+IHRleHRhcmVhIHtcclxuICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH0gICBcclxufVxyXG4vLyBTdXBwcmVzc2luZyB0aGlzIGFzIGZvcm1hbCBwYWdlIGJ1dHRvbnMgaGFzIG5vdyBiZWVuIGltcGxlbWVudGVkIGZvciBtb2RhbHMgODYyNTY2LlxyXG4vLyAuc3VibWlzc2lvbi1jb250cm9scy1jb250YWluZXIge1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuLy8gfVxyXG5cclxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWEgdGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIFxyXG59XHJcblxyXG4vLyBJbmRlbnRhdGlvbi5cclxuQGZvciAkaW5kZW50YXRpb24tbGV2ZWwgZnJvbSAxIHRocm91Z2ggJHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tbWF4LWxldmVscyB7XHJcbiAgICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLSN7JGluZGVudGF0aW9uLWxldmVsfSB7XHJcbiAgICAgICAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKCN7JGluZGVudGF0aW9uLWxldmVsfSAqICN7JHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgJiArIHVsLCAmICsgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRpbmRlbnRhdGlvbi1sZXZlbH0gKiAjeyRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5cclxuLS0tLS0gVmlkZW8gUGxheWVyIC0tLS1cclxuXHJcbklNUE9SVEFOVDogVGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIGVtYmVkZGluZyBZb3V0dWJlIHZpZGVvcyAvIEJhbm5lciBzZXJpZXMuIC9zdGF0aWMvdmlkZW8tc2VyaWVzLmh0bWxcclxuXHJcbkhhbmRsZXM6XHJcbi0gVGh1bWJuYWlsIHBsYXkgaWNvbi5cclxuLSBEdXJhdGlvbiBmb3JtYXR0aW5nLlxyXG4tIFZpZGVvIGluZGljYXRvciB0ZXh0ICggY2xpY2sgaGVyZSB0byB3YXRjaCB2aWRlbyApXHJcblxyXG4qL1xyXG5cclxuXHJcblxyXG4udmlkZW8tcGxheWVyLWNvbnRhaW5lciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoI3tob3Zlci1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgdmlkZW8tcGxheS1pY29uLW92ZXJsYXkoKTtcclxuICAgIH1cclxuICAgIC5kdXJhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci1kdXJhdGlvbi1pY29ucyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgLy8gRm9yY2UgcmVhZCBtb3JlIGNvbnRhaW5lcnMgdG8gc2hyaW5rIHRvIGZpdCBhdmFpbGFibGUgYXJlYS5cclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4gIE11bHRpbWVkaWEgRWxlbWVudFxyXG4gIFxyXG4gIEhhbmRsZXMgc3R5bGluZyBmb3IgdmlkZW8gcGxheWJhY2tcclxuXHJcbiovXHJcblxyXG4vLyBHZW5lcmFsIHZpZGVvIHJ1bGVzLlxyXG52aWRlbyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi52aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBiZXNwb2tlIG92ZXJsYXkgZm9yIFNhZmFyaSBkdWUgdG8gbm8gXHJcbiAgICBAc3VwcG9ydHMgbm90ICgtYXBwbGUtcGF5LWJ1dHRvbi1zdHlsZTogaW5oZXJpdCkge1xyXG4gICAgICAgICYuaXMtcmVhZHktdG8tcGxheSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpZGVvLXBsYXktaWNvbi1vdmVybGF5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVwbGF5LXZpZGVvIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdmlkZW8tcmVwbGF5LWljb24tb3ZlcmxheSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVW5zdXBwb3J0ZWQgbWVkaWEgdHlwZS5cclxuLnNvdXJjZS11bnN1cHBvcnRlZCB7XHJcbiAgICAmID4gdmlkZW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmID4gaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBGYWxsYmFjayBlbGVtZW50LlxyXG5bZGF0YS1mYWxsYmFja10ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uZmFsbGJhY2stZWxlbWVudCB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAuZmFsbGJhY2stdGV4dCB7XHJcbiAgICAgICAgJGJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMTApO1xyXG4gICAgICAgICRlcnJvci1pY29uLXNpemU6IDMycHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAjeygkZXJyb3ItaWNvbi1zaXplICsgMjApfSAxZnI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQtY29sb3VyLCAuOCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRlcnJvci1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZXJyb3ItZGV0YWlscyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuLCBkaXYge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBcInByaW1hcnlcIjogIzE3NzliYSxcbiAgXCJzZWNvbmRhcnlcIjogIzc2NzY3NixcbiAgXCJzdWNjZXNzXCI6ICMzYWRiNzYsXG4gIFwid2FybmluZ1wiOiAjZmZhZTAwLFxuICBcImFsZXJ0XCI6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gIC8vICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzI6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsIGRpdmlkZSgkZXhwb25lbnQsICRkZW5vbWluYXRvcikpLCBkaXZpZGUoJHByZWMyLCAkZGVub21pbmF0b3IpLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJGJhc2UpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogZGl2aWRlKDEsICRuKSAqICgoJG4gLSAxKSAqICR4ICsgZGl2aWRlKCRudW0sIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gZGl2aWRlKCRoLCAkdykgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoZGl2aWRlKCRwYXJzZWQtbm9taW5hdG9yLCAkcGFyc2VkLWRlbm9taW5hdG9yKSk7XG59XG5cbi8vLyBEaXZpZGUgdGhlIGdpdmVuIGAkZGl2aWRlbnRgIGJ5IHRoZSBnaXZlbiBgJGRpdmlzb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXZpZGVudCAtIFRoZSBkaXZpZGVudC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlzb3IgLSBUaGUgZGl2aXNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHByZWNpc2lvbiAtIFRoZSBwcmVjaXNpb24gZGVjaW1hbHMgZm9yIHRoZSBkaXZpc2lvbi5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGRpdmlzaW9uLlxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMikge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciAnQ2Fubm90IGRpdmlkZSBieSAwJztcbiAgfVxuICAkcmVtYWluZGVyOiAkZGl2aWRlbmQ7XG4gICRyZXN1bHQ6IDA7XG4gICRmYWN0b3I6IDEwO1xuICBAd2hpbGUgKCRyZW1haW5kZXIgPiAwIGFuZCAkcHJlY2lzaW9uID49IDApIHtcbiAgICAkcXVvdGllbnQ6IDA7XG4gICAgQHdoaWxlICgkcmVtYWluZGVyID49ICRkaXZpc29yKSB7XG4gICAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyIC0gJGRpdmlzb3I7XG4gICAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgfVxuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArICRxdW90aWVudDtcbiAgICAkZmFjdG9yOiAkZmFjdG9yICogMC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ2VtJzogMWVtLFxuICAgICclJzogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpKTtcbiAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICRndXR0ZXI6IDByZW07XG4gICAgfVxuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9IC8gMikpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuXG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IDAuNSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciBmb3IgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgQ3Vyc29yXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIGluZGljYXRlIGEgZGlzYWJsZWQgc3dpdGNoXG4gIGlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgY3Vyc29yOiAkc3dpdGNoLWN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAkc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdCBbZmFsc2VdIC0gTmVlZGVkIGlmIHlvdSBvbmx5IHdhbnQgdG8gYXBwbHkgdGhpcyB0byBhIHNwZWNpZmljIHRhYmxlLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuICAkY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuICAkYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIC8vIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgLy8gICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKlxyXG4tLS0tLSBNZW51cyAtLS0tLVxyXG5UT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcyBJIGFtIHN0aWxsIG1pZ3JhdGluZyBmcm9tIGEgbWFzc2l2ZSBibG9iIG9mIGNvZGUgZW1iZWRkZWQgaW4gaGVhZGVyLnNjc3MuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRHJvcGRvd25zXHJcbi0gRHJpbGwgZG93bnNcclxuLSBBY2NvcmRpb25zXHJcbi0gTWVnYSBtZW51XHJcbiAgLSBNZWdhIG1lbnUgc2VlIG1vcmUgbGluay5cclxuICAtIEVCRyBpbWFnZS5cclxuKi9cclxuXHJcbi5tZW51LWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJG1lbnVzLWhlYWRlci1jb2xvdXIpO1xyXG4gICAgfVxyXG4gICAgLm1lbnUtaGVhZGluZyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcclxuICAgICAgICBjb2xvcjogJG1lbnVzLWhlYWRlci1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtaGVhZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51cy1oZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdldHMgd3JhcHBlZCBhcm91bmQgYWxsIG1lbnVzLlxyXG4ubWVudS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvLyBTdXByZXNzaW5nIGR1ZSB0byBtZWdhIG1lbnUgb3ZlcmxhcHBpbmcgZHJvcGRvd24gbWVudXMuXHJcbiAgICAvLyB6LWluZGV4OiA1O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBub3QgJGhlYWRlci1sb3dlci1pdGVtLWdyb3cge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlZCBmb3IgYmFza2V0IHByZXZpZXcsIHNlYXJjaCAmIG1vYmlsZSBtZWdhIG1lbnUuXHJcbiAgICAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyLCAubWVudS1oZWFkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46ICRtZW51LW5hdi10ZXh0LW1hcmdpbjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC8vIE1vYmlsZSBleHBpZXJhbmNlLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vIExldmVsIDFcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1ib3JkZXItYm90dG9tLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1ib3JkZXItdG9wLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItbGktYm9yZGVyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0LCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gTGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogbWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbnRhaW5lci1tYXJnaW4sIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBBY2NvcmRpb24gTWVudSAtLS1cclxuICAgICYuYWNjb3JkaW9uLW1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTEtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmV7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pIHtcclxuICAgICAgICAvLyBMZXZlbCAxLlxyXG4gICAgICAgID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZW51LWl0ZW0tcHJlZml4LWljb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBMZXZlbCAzXHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICB9XHJcbiAgICAvLyBJZiB0aGUgYW5jaG9yIGlzIGxpbmtpbmcgdG8gcGFnZSBidXQgd2Ugd2FudCBtZW51IHRvZ2dsZSBidXR0b24uXHJcbiAgICAmLmFjY29yZGlvbi1tZW51W2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdIHtcclxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICA+IGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIGFuZCB1c2luZyBFeHByZXNzJ3Mgc2l0ZS1pY29ucyBmb3IgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgICAgICAuc3VibWVudS10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGxpIHtcclxuICAgICAgICAvLyAgICAgLy8gTWFrZSBzdXJlIGlmIGFuIGl0ZW0gaGFzIGEgdG9nZ2xlIGJ1dHRvbiB0aGF0IGNoaWxkIGl0ZW0ocykga2VlcCBpdGVtIGRlc2NyaXB0aW9ucyBpbmxpbmUuIFxyXG4gICAgICAgIC8vICAgICAmLmhhcy1zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgLy8gICAgICAgICAmIH4gbGkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgICY6bm90KC5oYXMtc3VibWVudS10b2dnbGUpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAmOm5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gQmFja2dyb3VuZCBjb2xvdXIsIHRleHQgY29sb3VyLCBob3cgd2UgaGFuZGxlIEVHQiBncm91cCBjb2xvdXJzLiAtLS0tLVxyXG4gICAgLy8gQ2Fycnkgb3V0IHNvbWUgcHJlLXByb2Nlc3Npbmcgb2YgdGhlIGNvbG91cnMgdG8gdGVzdCB0aGUgbGVnaWJpbGl0eSBvZiB0aGUgY29udGVudCBhZ2FpbnN0IHRoZWlyIGJhY2tncm91bmRzLlxyXG4gICAgLy8gLS0tIEdyYW5kIHBhcmVudCBjb2xvdXJzLiAtLS1cclxuICAgIC8vIE1vYmlsZVxyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtc21hbGwpLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBEZXNrdG9wXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1sYXJnZSksICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIFBhcmVudCBjb2xvdXJzIC0tLSBcclxuICAgICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRwYXJlbnQtY29sb3VyOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkcGFyZW50LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRwYXJlbnQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIENoaWxkIGNvbG91cnMgLS0tIFxyXG4gICAgLy8gVE9ETzpcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkY2hpbGQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLiBcclxuICAgICRjaGlsZC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRjaGlsZC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIEBtaXhpbiBncmFuZC1wYXJlbnQtYWN0aXZlLXN0eWxlcygpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAgLy8gSWYgZUJ1c2luZXNzIGdyb3VwIGJhY2tncm91bmQgaXMgY29uZmlndXJlZC5cclxuICAgICAmLmViZy1jb2xvdXItYmFja2dyb3VuZCAge1xyXG4gICAgICAgIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgIEBpZiBub3QgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhOmhvdmVyLCBsaTpob3ZlciBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7IFxyXG4gICAgICAgICAgICAgICAgbGkgeyBcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBlQnVzaW5lc3MgZ3JvdXAgY29sb3VyIG9uIGhvdmVyIGlzIGNvbmZpZ3VyZWQuXHJcbiAgICAmLmViZy1jb2xvdXItaG92ZXIge1xyXG4gICAgICAgIGxpW3N0eWxlKj1cIi0tZWJnXCJdIHtcclxuICAgICAgICAgICAgJjpob3ZlciwgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgbm90ICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKTpob3ZlciB7XHJcbiAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLy8gICAgID4gYSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdCBzdHlsZXMuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gTGV2ZWwgMSAoIEdyYW5kcGFyZW50IClcclxuICAgID4gbGkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIFNldHRpbmcgY29sdW1uIGxheW91dCBmb3IgZmlsdGVycyBhbmQgaXQgbWFkZSBzZW5zZSBmb3IgZ2VuZXJhbCBtZW51IGxvZ2ljIGFzIHdlbGwuXHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IFxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJG1lbnVzLWxpc3QtaXRlbS1saW5lLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEsID4gcCB7XHJcbiAgICAgICAgICAgICYuaGFzLWxpbmstaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtZmxleC1kaXJlY3Rpb247XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IChzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAoc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nLCAzLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5saW5rLWltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBAaWYgc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2Utc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvLCBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIC5saW5rLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtZGVzY3JpcHRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGZsZXggZ3JvdyB0byBhbGxvdyBmb3IgdGhlIGFuY2hvciB0byB0YWtlIHVwIGVudGlyZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyICggdGhpbmsgcHJvZHVjdCBsaXN0IGZpbHRlcnMgKS5cclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBsaW5lLWhlaWdodCB3aXRoIHRoZSBnbG9iYWwgbGluZSBoZWlnaHQuXHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudXMtbGlzdC1pdGVtLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGlmKCRoZWFkZXItbG93ZXItdGV4dC1hbGlnbiA9PSBcImxlZnRcIixmbGV4LXN0YXJ0LGNlbnRlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV2ZWwgMiAoIFBhcmVudCApXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIC8vIFNwZWNpZmljIGhpZGluZyB0aGlzIG9uIHBhZ2UgbG9hZCAvIGludGl0aWFsaXNhdGlvbiB0byBwcmV2ZW50IGNvbnRlbnQgZnJvbSBiZWluZyBzaG93biB0aGVuIGhpZGRlbi5cclxuICAgICAgICAgICAgJjpub3QoLnN1Ym1lbnUpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIEBpZiAoJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3Rlcikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRkZWZhdWx0LW1lbnUtZHJvcGRvd24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgLy8gTGV2ZWwgMywgQWRkaW5nIGNsYXNzIHRvIG5vdCBicmVhayBsb3dlciBkb3duIGxpc3RzICggaS5lIGNvbnRleHQgbWVudSApXHJcbiAgICAgICAgICAgICAgICB1bCBsaS5pcy1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGxpLCAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lZ2EtbWVudS1saW5rLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBwb3NpdGlvbmluZy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gR3JvdXAgaW5kaWNhdG9yIGluIG1vYmlsZS5cclxuICAgICAgICAgICAgICAgIC8vICYuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgIC8vICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBAaW5jbHVkZSBtZW51LWl0ZW0tcHJlZml4LWljb24oKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmRyb3Bkb3duIHtcclxuICAgICAgICBsaSA+IGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElGIHdlIHNwZWNpZmljYWxseSB3YW50IHRvIGFkZCBhIHJhZGl1cyB0byB0aGUgYm90dG9tIG9mIHN1Ym1lbnUgYW5jaG9ycyAoIGJld2FyZSB0aGlzIG1heSBsb29rIG9kZCB3aXRoIGRyb3Bkb3duIG1lbnVzICkuXHJcbiAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYm90dG9tOiBpZihzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMsIDMpLCAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpICRib3JkZXItcmFkaXVzLWJvdHRvbSAkYm9yZGVyLXJhZGl1cy1ib3R0b207XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkbWVudS1kcm9wZG93bi1hcnJvd3MpIHtcclxuICAgICAgICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAvLyBOb3QgYSBzaXRlLXNldHRpbmcgZHVlIHRvIGRlc2lnbiBjYWxsZWQgZm9yIGNoZXZyb24gdG8gYmUgb24gYmVmb3JlIHRoZSB0ZXh0IGluc3RlYWQgb2YgYWZ0ZXIuXHJcbiAgICAgICAgICAgICAgICAmOm5vdCguc2l0ZS1zZXR0aW5nLW1lbnUpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdlLW1lbnUtcm9vdC1kcm9wZG93bi1hcnJvdygkZ3JhbmQtcGFyZW50LWNvbG91ciwgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5vbi1wYWdlLW1lbnUge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gSG9tZSBidXR0b24gLS0tLS0gXHJcbiAgICAvLyBMZWdpYmlsaXR5IGNoZWNrZXIuXHJcbiAgICAvLyBEZWZhdWx0XHJcbiAgICAkaG9tZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGhvbWUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhvbWUtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksICRob21lLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyXHJcbiAgICAkaG9tZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRob21lLWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRob21lLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSwkaG9tZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmVcclxuICAgICRob21lLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaG9tZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAkaG9tZS1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhvbWUtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSwkaG9tZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC5ob21lLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRob21lLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvbWUtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG9tZS1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBob21lKTtcclxuICAgICAgICAgICAgICAgIEBpZiAkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaG9tZS1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRob21lLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaG9tZS1idXR0b24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRob21lLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgcGFkZGluZyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkaG9tZS1zZXBlcmF0b3Ige1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnMsIHdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWRpbWVuc2lvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtc2VwZXJhdG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAobWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9ucywgaGVpZ2h0KSAvIDEuNik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob21lLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLS0tIEFjY291bnQgTWVudSAtLS0tLSBcclxuICAgIC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIHNtYWxsKTtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYWNjb3VudC1tZW51LXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRtZWdhLW1lbnUtbGV2ZWwtMi1kZXNrdG9wLW1heC1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogIG1hcC1nZXQoJGFjY291bnQtbWVudS1wYWRkaW5nLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gRGVjbGFpcmluZyBwYWRkaW5nIGhlcmUgYXMgd2VsbCB0byBvdmVycmlkZSBkZWZhdWx0IG1lbnUgYW5jaG9yIHN0eWxpbmcuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkYWNjb3VudC1tZW51LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgcHJlZml4IGNoZXZyb24uXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuICAgIC8vIC0tLS0tIE1vYmlsZSBzaXRlIHNldHRpbmcgbWVudXMgLS0tLSBcclxuICAgIC5zaXRlLXNldHRpbmctbWVudSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQ1cHggMTBweCAyMnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyLWJvcmRlcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW5jeS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY3VycmVuY3ktaWNvbiAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXI0LCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA2cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW5jeSB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiB0byBmb3JjZSBzaXRlIHNldHRpbmcgZHJvcGRvd24gdG8gcGluIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXdwb3J0LlxyXG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7c3BhY2luZy12YWx1ZSgkaGVhZGVyLXVwcGVyLXBhZGRpbmcsIDEpfSkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVG8gb3ZlcnJpZGUgZGVmYXVsdCBtZW51IHN0eWxlcy5cclxuICAgICAgICAmLmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSwgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgYSB7IFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGhvdmVyKSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEV4cGxpY2l0bHkgaGFuZGxpbmcgY29udGFjdCBpY29ucyBvbiBhbmNob3JzLlxyXG51bC5tZW51IHtcclxuICAgIGxpIHtcclxuICAgICAgICBhW2hyZWZePVwidGVsOlwiXSwgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBDb25maWcgbmFtZXMgbmVlZCB0byBiZSByZWZhY3RvciB0byBiZSBtb3JlIGdlbmVyaWMgYXMgdGhpcyBjb2RlIGNhbiBub3cgYmUgdXNlZCBhbnl3aGVyZS5cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJGhlYWRlci11cHBlci1pY29uLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItdXBwZXItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaGVhZGVyLXVwcGVyLWljb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgICAgICBAaWYgJG1lbnVzLWVtYWlsLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy1lbWFpbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVtYWlsKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51cy1lbWFpbC1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYVtocmVmXj1cInRlbDpcIl0ge1xyXG4gICAgICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0IDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0ZWxlcGhvbmUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkbWVudXMtdGVsZXBob25lLWljb24tcm90YXRlKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudXMtdGVsZXBob25lLWljb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51cy10ZWxlcGhvbmUtaWNvbi1zaXplO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQGlmICRtZWdhLW1lbnUtc2hvdy1pY29ucyB7XHJcbiAgICBbY2xhc3NePVwibWVudS1pY29uLVwiXSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAkbWVnYS1tZW51LXNob3ctaWNvbnMtbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRtZWdhLW1lbnUtaWNvbnMtbWFyZ2luLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1pY29ucy1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRtZWdhLW1lbnUtaWNvbnMtZm9udC1mYW1pbHksICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkbWVnYS1tZW51LWljb25zLW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtaWNvbi1hY2NvdW50OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubWVudS1zY3JvbGwtY29udGFpbmVyIHtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIC0tLS0tIFN1Ym1lbnUncyAtLS0tLS0gXHJcbi5zdWJtZW51IHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDQwMDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgLy8gT25seSBhcHBseSB0aGUgZm9vdGVyIGJvcmRlciB0byB0aGUgc2Vjb25kIGxldmVsIG9mIGEgbWVudS5cclxuICAgIC8vIFRPRE86IG5lZWQgdG8gd29yayBvdXQgdGhlIHVzZSBvZiAubGV2ZWwgY2xhc3NlcyBhbmQgaW5zdGVhZCB1c2UgcGFyZW50IGNoaWxkIHJlbGF0aW9uc2hpcCdzIGJldHdlZW4gdWwgbGkgYXMgd2UgcmVjdXJzaXZpbHkgdHJhdmVyc2UgZG93bi5cclxuICAgICYubGV2ZWwyIHtcclxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudXMtc3VibWVudS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3Rlcikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICA+IGxpIHtcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1saXN0LWl0ZW0tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBhcyB0aGlzIGlzIGNhdXNpbmcgYSBzdGVwLlxyXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAmLm9wZW5zLXJpZ2h0IHtcclxuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgJHN1Ym1lbnUtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkbWVudXMtbGV2ZWwtMi1wYWRkaW5nLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzdWJtZW51LXBhZGRpbmcgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgI3skc3VibWVudS1wYWRkaW5nfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lbnUgRUJHIGltYWdlLlxyXG4ubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgICAgIC8vIHdpZHRoOiAkbWVnYS1tZW51LWltYWdlLWRpbWVuc2lvbnM7XHJcbiAgICAgICAgLy9oZWlnaHQ6ICRtZWdhLW1lbnUtaW1hZ2UtZGltZW5zaW9ucztcclxuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46ICRtZWdhLW1lbnUtaW1hZ2UtZGVza3RvcC1tYXJnaW47XHJcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIGxhc3QtbGluZTtcclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBAaWYgKCRtZWdhLW1lbnUtaW1hZ2UtYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWVnYS1tZW51LWltYWdlLWJveC1zaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJG1lZ2EtbWVudS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTWVnYSBtZW51IC0tLS0tLSBcclxuLy8gTWVnYSBtZW51IGdlbmVyYWwgc3R5bGVzXHJcbi8vIFNwZWNpZmljYWxseSBtZWdhIG1lbnUgc3R5bGVzICggaS5lIGNvbHVtbiBsYXlvdXRzIClcclxuLm1lZ2EtbWVudS1jb250YWluZXIge1xyXG4gICAgLS1tZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyOiAje3NwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXIsIDIpfTtcclxuICAgIC8vIERvbid0IHdyYXAgYXMgdGhpcyB3aWxsIGNhdXNlIGlzc3VlcyB3aGVuIHVzaW5nIHRoZSBkcm9wZG93bi5cclxuICAgID4gdWwubWVudSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAvLyBNZWdhIG1lbnUgY29sdW1uIGxheW91dCBpbiBkZXNrdG9wLlxyXG4gICAgICAgICAgICBAZm9yICRjb3VudCBmcm9tIDEgdGhyb3VnaCAkbWVnYS1tZW51LW1heC1jb2x1bW5zIHtcclxuICAgICAgICAgICAgICAgICZbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiI3skY291bnR9XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBXb3JrIG91dCBndXR0ZXJzLlxyXG4gICAgICAgICAgICAgICAgICAgICRndXR0ZXJzOiAoKCRjb3VudCAtIDEpICogc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMikpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFwcGx5IGNvbHVtbiBjb3VudCwgdGFrZSBhdmFpbGFibGUgc3BhY2UgaW50byBhY2NvdW50ICggaS5lIGRyb3Bkb3duIHBhZGRpbmcgLyBndXR0ZXJzIClcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgjeyRjb3VudH0sIGNhbGMoKCN7JG1lZ2EtbWVudS1kcm9wZG93bi1jb250ZW50LWNvbnRhaW5lcn0gLSAjeygkZ3V0dGVycyl9KSAvICN7JGNvdW50fSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE1lZ2EgbWVudSBpbWFnZSBwb3NpdGlvbiwgdGhpcyB3aWxsIG9idmlvdXNseSBjaGFuZ2UgZGVwZW5kaW5nIG9uIHRoZSBjb2x1bW4gY291bnQuXHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAjeyRjb3VudH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIC8vIExldmVsIDIgXHJcbiAgICAgICAgICAgICY6aG92ZXIgPiAuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgLy8gZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5vdmVyZmxvdy1zY3JvbGwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJG1lZ2EtbWVudS1sZXZlbC0yLWRlc2t0b3AtbWF4LWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRHVlIHRvIHRoZSBzY3JvbGxiYXIgcHVzaCB0aGUgY29udGVudCBsZWZ0LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAjeyhzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nLCAyLCBsYXJnZSkgLSAxN3B4KX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgID4gbGkuaGFzLWNsb25lZC1ncm91cHMtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaXJzdCBncm91cCBkb2Vzbid0IGdldCBzaG93biBhcyBpdHMgYmVlbiBkdXBsaWNhdGVkIGludG8gdGhlIHN1Ym1lbnUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1wYXJlbnQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSwgLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUmV2ZXJzaW5nIHRoaXMgY2hhbmdlIGFzIGl0IHdhcyBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgd2hlbiBzb21lIGdyb3VwIGRpZG4ndCBoYXZlIGFueSBjb2xvdXIncyBjb25maWd1cmVkLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vICY6bm90KFtzdHlsZSo9XCItLWViZy1cIl0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVudS1ncm91cC1kcm9wZG93bi1hcnJvd3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gR3JvdXAgaG92ZXIgaWNvbnMsIG5vcm1hbGx5IHRoaXMgaXMgcG9zaXRpb25lZCB0byB0aGUgbGVmdCBvZiB0aGUgZ3JvdXAuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBpY29uIGZvciBsYXJnZSB3aGVuIGFuY2hvciBpcyBpbiBpdHMgZGVmYXVsdCBzdGF0ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGkubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3Mgc3R5bGVzLlxyXG4gICAgICAgIEBpZiBub3QgKCRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTdXJwcmVzc2luZyB0aGlzIGluIGZhdm91ciBpZiB1c2luZyBmbGV4Ym94IGFzIHdlIGN1cnJlbnRseSBkb250IG5lZWQgdGhpcyBjb21wbGV4aXR5LCB0aGlzIG9ubHkgY29uZnVzZXMgdGhpbmdzIHdoZW4gaGF2ZSB0byBoYW5kbGUgdGhlIHZpZXcgbW9yZSBpdGVtIGF0IHRoZW4gZW5kIG9mIGFcclxuICAgIC8vIC5tZWdhLW1lbnUtY29sdW1uLXNwYW4ge1xyXG4gICAgLy8gICAgID4gLnN1Ym1lbnUge1xyXG4gICAgLy8gICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgLy8gICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1tZWdhLW1lbnUtY29sdW1uLXdyYXApLCAxZnIpO1xyXG4gICAgLy8gICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG4gICAgLy8gICAgICAgICBnYXA6IDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMik7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICAgIC5tZW51IC5oYXMtY2xvbmVkLWdyb3VwcyB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZWdhbWVudS1jb2x1bW4tY2xvbmVkLXNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tbWVnYS1tZW51LWNvbHVtbi1jbG9uZWQtd3JhcCksIDFmcik7XHJcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcclxuICAgICAgICBnYXA6IDAgc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmNoaWxkZnJlZS1wYXJlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb2x1bW4tc3Bhbm5lZCB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2xvbmVkLXRvLXNlcGVyYXRlLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdWwuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdC5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtd2lkdGgsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHVsLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAgbWFwLWdldCgkYWNjb3VudC1tZW51LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGVyc2lzdGVudC1lYmctaW1hZ2VzIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIGFueSBhcnJvd3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIExvd2VyIGxldmVsIGdyb3VwIGl0ZW1zIHRvIGJlIHN1cHByZXNzZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucGVyc2lzdGVudC1lYmctaW1hZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gI3tzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKX07XHJcbiAgICAgICAgICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xyXG4gICAgLy8gLS0tLS0gQmFja2dyb3VuZCBjb2xvdXIsIHRleHQgY29sb3VyLCBob3cgd2UgaGFuZGxlIEVHQiBncm91cCBjb2xvdXJzLiAtLS0tLVxyXG4gICAgLy8gQ2Fycnkgb3V0IHNvbWUgcHJlLXByb2Nlc3Npbmcgb2YgdGhlIGNvbG91cnMgdG8gdGVzdCB0aGUgbGVnaWJpbGl0eSBvZiB0aGUgY29udGVudCBhZ2FpbnN0IHRoZWlyIGJhY2tncm91bmRzLlxyXG4gICAgLy8gLS0tIEdyYW5kIHBhcmVudCBjb2xvdXJzLiAtLS1cclxuICAgIC8vIE1vYmlsZVxyXG4gICAgJG1vYmlsZS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lbnVzLWJhY2tncm91bmQtY29sb3VyLCBzbWFsbCk7XHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtc21hbGwpLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBEZXNrdG9wXHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1sYXJnZSksICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIFBhcmVudCBjb2xvdXJzIC0tLSBcclxuICAgICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRwYXJlbnQtY29sb3VyOiAgY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuXHJcbiAgICAkcGFyZW50LWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRwYXJlbnQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gLS0tIENoaWxkIGNvbG91cnMgLS0tIFxyXG4gICAgLy8gVE9ETzpcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkY2hpbGQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWRlZmF1bHQpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLiBcclxuICAgICRjaGlsZC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtaG92ZXIpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZS5cclxuICAgICRjaGlsZC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIGxhcmdlLWFjdGl2ZSksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIEBtaXhpbiBncmFuZC1wYXJlbnQtYWN0aXZlLXN0eWxlcygpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIC8vIEZvciB3aGVuIHdlIGRvbid0IGhhdmUgcmlnaHQgbWVudSBpbiB0aGUgaGVhZGVyLW1lbnUtaW5uZXItY29udGFpbmVyLlxyXG4gICAgICAgIEBpZiAkaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdyB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAtLS0gTGV2ZWwgMiAtLS0gXHJcbiAgICAubGV2ZWwyIHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgIH1cclxuICAgIC8vIFByZXZlbnQgc3VibWVudSBmcm9tIGNoYW5naW5nIGNvbG91ciB3aGVuIGFjdGl2ZS5cclxuICAgIC5zdWJtZW51IHtcclxuICAgICAgICBsaS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBMZXZlbCAxICggR3JhbmRwYXJlbnQgKVxyXG4gICAgdWwubWVudSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIC8vIEVuZm9yY2UgYSBtYXhpbXVtIHdpZHRoIGZvciBlYWNoIG1lbnUgaXRlbSwgZXNzZW50aWFsbHkgZm9yY2luZyBhIGxpbmUgYnJlYWsuXHJcbiAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXgtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1sb3dlci1pdGVtLWdyb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogaWYoJGhlYWRlci1sb3dlci10ZXh0LWFsaWduID09IFwibGVmdFwiLGZsZXgtc3RhcnQsY2VudGVyKTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYW5kLXBhcmVudC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybyAje2lmKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yLCBcIixiYWNrZ3JvdW5kLWNvbG9yXCIgJHRyYW5zaXRpb25JbnRybywgJycpfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmFuZC1wYXJlbnQtYWN0aXZlLXN0eWxlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzKSB7XHJcbiAgICAgICAgICAgICAgICAmLmlzLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdlLW1lbnUtcm9vdC1kcm9wZG93bi1hcnJvdygkZ3JhbmQtcGFyZW50LWNvbG91ciwgJGdyYW5kLXBhcmVudC1ob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZykgIT0gJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgLy8gTGVhdmluZyBoZXJlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJsaXR5LlxyXG4gICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSwgbGFyZ2UpKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogICRncmFuZC1wYXJlbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRoZWFkZXItbG93ZXItdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBnZW5lcmljIG9wYWNpdHkgaG92ZXIgZWZmZWN0IGFwcGxpZWQgdG8gYWxsIGFuY2hvcnMuXHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBMZXZlbCAyICggUGFyZW50IClcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRoZSAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGggZmxhZyB0byBvdmVycmlkZSB0aGUgd2lkdGggaWYgc2V0LlxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAje2lmKCRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCwgMTAwJSwgJG1lZ2EtbWVudS1kcm9wZG93bi13aWR0aCl9O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtbGV2ZWwtMi1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtZWdhLW1lbnUtbGV2ZWwtMi1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbikgb3Igc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGNvbG9yOiAkcGFyZW50LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBDaGFuZ2luZyB0aGUgbG9naWMgaGVyZSB0byBvbmx5IHB1dCBob3ZlciB0ZXh0IGNvbG91ciB3aGVuIHBhcmVudCBncm91cCBpcyBob3ZlcmVkIGFzIHJlcXVlc3QgZnJvbSB0aGUgUUMgb24gODE5NjA2LlxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmID4gYTphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtbGV2ZWwtMi1hbmNob3IoJHBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gbGV2ZWwgM1xyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL092ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0byFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuY2hpbGRmcmVlLXBhcmVudHMtbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWxldmVsLTItYW5jaG9yKCRwYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsaSwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUbyBrZWVwIHRvcCBhbmQgYm90dG9tIGNvbnNpc3RlbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLCAmOmFjdGl2ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWFjdGl2ZTsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVmlldyBtb3JlIGJ1dHRvbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1lZ2EtbWVudS12aWV3LW1vcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtd2VpZ2h0OyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkbWVnYS1tZW51LXZpZXctbW9yZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkbWVnYS1tZW51LXZpZXctbW9yZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFZhcmlvdXMgbGlzdCB2aWV3czpcclxuICAtIFRhYmxlXHJcbiAgLSBHcmlkXHJcbi0gQW55d2hlcmUgYSBwcm9kdWN0IGxpc3QgaXMgc2hvdyAoIHNlYXJjaCByZXN1bHRzLCBwcm9kdWN0IGJ5IGdyb3VwLCBhY2NvdW50IGFyZWEgcGFnZXMgKSB0aGlzIGNvZGUgd2lsbCBiZSB1c2VkLlxyXG4tIFRoaXMgZmlsZSBpcyBOT1QgZGVkaWNhdGVkIHRvIGZpbHRlcnMgY29uc3VsdCBmaWx0ZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBBbGwgc29ydGluZyBvcHRpb25zICggaXRlbXMgcGVyIHBhZ2VzLCB2aWV3IHNlbGVjdGlvbiwgcGFnaW5hdGlvbiwgaXRlbXMgZm91bmQgJiBzb3J0IGJ5IClcclxuLSBObyByZXN1bHRzIGZvdW5kLlxyXG4qL1xyXG5cclxuI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgIC8vIEZvciBTaXRlIFNlYXJjaCAzNjAgdGhleSB1c2UgYSBoMiBpbnN0ZWFkIG9mIGEgaDEgZm9yIHNob3dpbmcgdGhlIHF1ZXJ5IHlvdSBzZWFyY2hlZCBmb3IuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAkaGVhZGluZy0xLW1hcmdpbjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTtcclxuICAgICAgICBAaWYgbWFwLWdldCgkaGVhZGluZy0xLXVuZGVybGluZSwgcHJlc2V0LTEpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRpbmctMS1ydWxlLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMge1xyXG4gICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcmVjb21tZW5kZWQtcmVzdWx0cy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDMzLjMlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYS5zdWdnZXN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcmVjb21tZW5kZWQtcmVzdWx0cy1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWNvbW1lbmRlZC1yZXN1bHRzLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWNvbW1lbmRlZC1yZXN1bHRzLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcmVjb21tZW5kZWQtcmVzdWx0cy1tYXJnaW4pO1xyXG5cclxuICAgICAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIsIC5zbmlwcGV0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLnJlc3VsdC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnNlY3Rpb24taGVhZGluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN0aW9uLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBjb2xvcjogJHNlY3Rpb24taGVhZGluZy1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWN0aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgIGZvbnQtc3R5bGU6ICRzZWN0aW9uLWhlYWRpbmctZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc2VjdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLXRleHQtYWxpZ24pIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkc2VjdGlvbi1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICB9XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHNlY3Rpb24taGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2VjdGlvbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VjdGlvbi1oZWFkaW5nLWJvcmRlci1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jcHJvZHVjdC1saXN0IHtcclxuICAgICNncm91cERhdGEge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0TGlzdEl0ZW0ge1xyXG4gICAgLmdyaWQteCAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMiwgJGd1dHRlcnM6IChzbWFsbDogMTBweCxsYXJnZTogMzBweCkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlzdGluZy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgLy8gTWFyZ2luIGlzIGFscmVhZHkgYmVpbmcgc2V0IG15IC5ncmlkLXg6bm90KC5ncmlkLW1hcmdpbi14KSwgdGhpcyBoYXMgbXVjaCBncmVhdGVyIGFmZmVjdHMgaWYgdGhpcyBpcyBjaGFuZ2VkLlxyXG4gICAgLy8gS2VlcHMgY29uc2lzdGVudCBzcGFjaW5nIHdpdGggbW9kdWxlcy5cclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbikgMDtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnRDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gVG8gcHJldmVudCB0aGUgbmV3ICYgb2xkIGNvbnRlbnQgZnJvbSBiZWluZyBkaXNwbGF5ZWQgYXQgdGhlIHNhbWUgdGltZS5cclxuICAgICZbZGF0YS1jb250ZW50LXVwZGF0aW5nPXRydWVdIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgfVxyXG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZmlsdGVycy1kZXNrdG9wLWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIC8vIFVzaW5nIHBlcnNlbnRhZ2UgdG8gdHJ5IGFuZCBnZXQgYmFjayBzb21lIG1vcmUgc3BhY2UgYmV0d2VlbiBsYXJnZSBhbmQgeHhsYXJnZVxyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDElIDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0cmlidXRlTGlzdHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAoJGZpbHRlcnMtZGVza3RvcC1hdHRyaWJ1dGUtbGlzdC13aWR0aCAtIDYwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRmaWx0ZXJzLWRlc2t0b3AtYXR0cmlidXRlLWxpc3Qtd2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI3Byb2R1Y3RMaXN0SXRlbXMge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlIHRoZSAucHJvZHVjdC1ncmlkLW1vZHVsZSBpbnN0ZWFkLlxyXG4gICAgLy8gI3Byb2R1Y3RMaXN0SXRlbXMuZ3JpZCB7XHJcbiAgICAvLyAgICAgLy8gVE9ETzogdjIgY2FuIGdvIGFmdGVyIG1vZHVsZXMgcmVmYWN0b3IgY29tcGxldGUuLi4uXHJcbiAgICAvLyAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoaWYoJGNvbGxlY3Rpb24tZWJnLWdyaWQtc3VwcHJlc3MtYmFja2dyb3VuZCwgdHJ1ZSwgZmFsc2UpLCB0cnVlKTtcclxuICAgIC8vIH1cclxuICAgIC8vIFN0eWxlcyBzcGVjaWZpYyB0byB0aGUgcHJvZHVjdCBsaXN0LlxyXG4gICAgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAmLnNlcGVyYXRvciAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdIHtcclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZXZlbi1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9kZEV2ZW4ge1xyXG4gICAgICAgICAgICAubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJiA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ldmVuLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5zZXBlcmF0b3IpLCAmOm5vdCgub2RkRXZlbikge1xyXG4gICAgICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24gYSBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWItaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZ25vcmUgdGhlIGZpcnN0IHJvdyBmb3IgYXNzaWduaW5nIHRoZSBtYXJnaW4gYWJvdmUgdGhlIHN1Yi1oZWFkaW5nIGFzIHRoZSBkZXNpZ24gZG9lc24ndCByZXF1aXJlIGl0IDgzMTc1Ni5cclxuICAgICAgICA+IGRpdjpub3QoOm50aC1jaGlsZCgxKSkgfiBkaXYge1xyXG4gICAgICAgICAgICAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAuaGVhZENvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LWFsaWduKTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTUlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gUmVtb3ZpbmcgYWJzb2x1dGUgd2lkdGhzIGR1ZSB0byB0b28gbWFueSB3YXlzIG9mIGRpc3BsYXlpbmcgdGhpcyB0YWJsZS5cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDM1NnB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBpbiBmYXZvdXIgb2YgbGV0dGluZyB0aGUgZGVzY3JpcHRpb24gY29sdW1uIGZsb3cuXHJcbiAgICAgICAgICAgICAgICAvLyAmICsgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDE0LjUlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtY29sIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA5LjUlO1xyXG4gICAgICAgICAgICAgICAgLy8gbWluLXdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZhdm91cml0ZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmYXZvdXJpdGVzLWNvbC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDkuNSU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzQlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQsIC5mYXZvdXJpdGUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDklO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAvL2ZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC10YWJsZS1sYXlvdXQtbW9iaWxlKCk7XHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LW1hcmdpbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHByb2R1Y3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3QgcHJldmVudCBoZWlnaHQgZHVlIHRvIG5lZWRpbmcgdG8gc3VwcG9ydCByZWN0YW5nbGUgaW1hZ2VzLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbiwgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAgICAgICAgIC8vIERvbid0IGZpdC1jb250ZW50IGR1ZSB0byBleHRlcm5hbCBkYXRhIHN1cHBseWluZyB2YXJpb3VzIHNpemVzLlxyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgLy8gQWRkaW5nIDJweCB0byBhbGxvdyBmb3IgdGhlIGJvcmRlciB0byBwcmV2ZW50IHRoZSBicm93c2VyIGZyb20gc2NhbGluZyB0aGUgaW1hZ2UuXHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWltYWdlLXdpZHRoICsgMik7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24taG92ZXItaW1hZ2UtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJHByb2R1Y3QtbGlzdC1pdGVtLWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtaW1hZ2Utb3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy93aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1kZXNjcmlwdGlvbi1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogMzE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tZ3JvdXAtZGVzY3JpcHRpb24tdHlwb2dyYXBoeSgpO1xyXG4gICAgICAgICAgICAgICAgLnNwZWNpZmljYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1jb2RlLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tY29kZS13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1wcmljZS1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vICYgKyAucXVhbnRpdHktY29udGFpbmVyLWNvbCwgJiArIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3Qtbm90LWxvZ2dlZC1pbi1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tbG9nZ2luLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW50ZXJhY3RpdmUtY29udGVudCwgLnF1YW50aXR5LWNvbnRhaW5lciwgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvZ2luLWNvbCwgLmVucXVpcnktY29sLCAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3RvY2tsaW5lLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXN0b2NrbGluZS1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6ICRwcm9kdWN0LWxpc3QtcXVhbnRpdHktcHJpY2UtZmF2b3VyaXRlcy1vcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpICB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1xdWFudGl0eS1kZXNrdG9wLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byBhdXRvIGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGgpOztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmFkZFRvQmFza2V0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VwcmVzc2luZyBpbmZhdm91ciBvZiB1c2luZyBmbGV4Ym94IGZvciBhbGlnbm1lbnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmZhdm91cml0ZXNDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGZhdm91cml0ZXMtY29sLWRlc2t0b3Atd2lkdGg7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBTdXByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyB3aXRoIHRoZSBoZWFkZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gLmZhdm91cml0ZXMge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi13ZWlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLXVuZGVybGluZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29kZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29kZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcmljZSh0cnVlKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcnJwKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNhdmluZygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZW5xdWlyeS1jb2wge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ubGlzdC1jYXRlZ29yeS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAucmVzdWx0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMjBweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNuaXBwZXQtY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSIsIi8qXHJcblxyXG4tLS0tIEFYSVMgRGVidWdnZXIgLS0tLSBcclxuXHJcblRoaXMgaXMgYSBzaWRlIHByb2plY3Qgb2YgbWluZSBwdXJseSB0byBtYWtlIGRldiBsaWZlIGEgbGl0dGxlIGVhc2llciAvIGZhc3RlciBlc3NlbnRpYWxseSB0aGlzIGlzIGp1c3QgYSBkcmF3ZXIgd2l0aCBhIGJ1bmNoIG9mIG9wdGlvbnMgdG8gZmx1c2ggY2FjaGUsIHNldCBkZWJ1ZyBsZXZlbHMgJiBjbGVhciB0aGUgY29uc29sZS5cclxuXHJcbiovXHJcblxyXG4kZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zOiAoXHJcbiAgICAnY2xlYXItY2FjaGUnOiAnXFxmMWI4JyxcclxuICAgICdjbGVhci1jb25zb2xlJzogJ1xcZjEyMCcsXHJcbiAgICAnc2V0LWRlYnVnZ2luZy1sZXZlbCc6ICdcXGYxODgnLFxyXG4gICAgXCJ0ZXN0LW1vZGVcIjogJ1xcZjQ5MicsXHJcbiAgICBcInNpdGUtc3R5bGVcIjogJ1xcZjUzZidcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4uZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiA4MDAwMDAwMDAwO1xyXG4gICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIyNXB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiRvcHRpb24taWNvbi1zaXplOiAzOHB4O1xyXG5cclxuLmRldmVsb3BtZW50LWRyYXdlciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOSk7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZXJ2aWNlLXdvcmtlci1jb250YWluZXIge1xyXG5cclxuICAgICAgICAuaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZHJhd2VyLWhlYWRlciB7XHJcbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkb3B0aW9uLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXZlbCBzdHlsZXNcclxuICAgICAgICAkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91cjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiMVwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTEwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS4xKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMTAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiMlwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTIwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS4yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMjAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiM1wiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTMwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS4zKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMzAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmW2RlYnVnLWxldmVsPVwiNFwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWRqdXN0LWh1ZSgkZGVidWctaWNvbi1sZXZlbC1iYXNlLWNvbG91ciwgLTQwJSk7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRvcHRpb24taWNvbi1zaXplICogMS40KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtNDAlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jbGVhci1jYWNoZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIGNsZWFyLWNhY2hlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jbGVhci1jb25zb2xlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgY2xlYXItY29uc29sZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2V0LWRlYnVnZ2luZy1sZXZlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnMsIHNldC1kZWJ1Z2dpbmctbGV2ZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmF4aXMtdGVzdC1tb2RlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgdGVzdC1tb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLXN0eWxlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgc2l0ZS1zdHlsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIFtkYXRhLXNsaWRlci12YWx1ZV0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXRjaCB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciwgLmNoaWxkLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIkBjaGFyc2V0ICd1dGYtOCc7XHJcbi8vIEZvdW5kYXRpb24gc2V0dGluZy5cclxuQGltcG9ydCAnc2V0dGluZ3MnO1xyXG4vLyBGb3VuZGF0aW9uIGxpYnJhcmllcy5cclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcbi8vIFRhYmxlcy5cclxuQGltcG9ydCAndGFibGVzLnNjc3MnO1xyXG4vL0lucHV0IHN0eWxpbmcuXHJcbkBpbXBvcnQgJ2lucHV0cy5zY3NzJztcclxuLy9Gb250YXdlc29tZSBsaWJyYXJ5LlxyXG4vLyBTdXBwcmVzc2luZyBhcyB0aGlzIGdldHMgaGFuZGxlZCBieSBicmFuZGluZy5zY3NzXHJcbi8vQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2ZvbnRhd2Vzb21lLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3NvbGlkLnNjc3NcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kcy5zY3NzXCI7XHJcblxyXG4vLyAtLS0tLSBFeHByZXNzIENvbXBvbmVudHMgLS0tLS0tIFxyXG4vL1RPRE86TmVlZCB0byBtYWtlIHNvbWUgc29ydCBvZiBmdW5jdGlvbmFsaXR5IHRoYXQgY2FuIHRvZ2dsZSBiZXR3ZWVuIDMgZGlmZmVyZW50IHR5cGVzIG9mIHN0eWxlc2hlZXRzLlxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNpdGUtc3R5bGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9mb3Jtc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvaGVhZGVyLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Zvb3RlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFqYXhcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2ZpbHRlcnMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvbW9kYWxzLnNjc3NcIjtcclxuLy8gVE9ETzogdjIgY2FuIGdvIGFmdGVyIG1vZHVsZXMgcmVmYWN0b3IgY29tcGxldGUuLi4uXHJcbi8vQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL21vZHVsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvbW9kdWxlcy12Mi5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9zdG9jay1pbmRpY2F0b3JzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9wcm9kdWN0LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Jhc2tldC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9hY2NvdW50LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Ntcy1wYWdlcy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9jaGVja291dC5zY3NzXCI7XHJcbi8vQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2VtYWlsLXRlbXBsYXRlc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvNDA0XCI7XHJcblxyXG4vL0NvbXBvbmVudCBJbXBvcnRcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1saWdodGJveFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW1hZ25pZmllclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9ieFNsaWRlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNsaWRlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRvb2x0aXBcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1yZWFkLW1vcmVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hdXRvY29tcGxldGVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc3dlZXQtYWxlcnQtaWNvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1ub3RpZmljYXRpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtaW1hZ2Utb3ZlcmxheXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1jb3VudGRvd25cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wd2FcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYXltZW50LW1ldGhvZHNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zb2NpYWwtbWVkaWEtaWNvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1lcXVpcG1lbnQtc2VsZWN0b3JcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1waWNrLW4tbWl4XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYW5pbWF0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWNsaWVudC1zZWFyY2hcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10b3AtYmFyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3R5bGUtZ3VpZGVcIjtcclxuLy8gQWRtaW4gY29tcG9uZW50IGlzIGluIGl0cyBcIiBwcm90b3R5cGUgXCIgcGhhc2UuXHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYWRtaW5cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvb2ZmX2NhbnZhc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWFjY29yZGlvbi10YWJzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3RpY2t5XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbGlzdC1zb3J0aW5nLW9wdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tYW5hZ2UtY2FsbHNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1iYWNrLXRvLXRvcFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNlY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZWxsaXBzaXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1ibHVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3RhdGljXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc3RvY2tpc3RcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10cmVlLW1lbnVcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1yZXZpZXdzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdGFyLXJhdGluZ3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1iYXJjb2RlLXNjYW5uZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdGFnc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRvZ2dsZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vyc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW11bHRpLWZpZWxkLWxvb2t1cFwiO1xyXG5cclxuLy9AaW1wb3J0ICdtb3Rpb24tdWknO1xyXG4vL0FuaW1hdGUuY3NzIChjdXN0b20gYW5pbWF0aW9uIGxpYnJhcnkpXHJcbkBpbXBvcnQgJy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlJztcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1lbGVtZW50LXByaW50XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZG9jdW1lbnRhdGlvblwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWNvbnRleHQtbWVudVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWdyYWR1YXRlZC1jb2xvdXItZWRnZVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXJpY2gtdGV4dC1lZGl0b3JcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy12aWRlby1wbGF5ZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1tdWx0aW1lZGlhLWVsZW1lbnRcIjtcclxuXHJcbi8vIEdsb2JhbCBzdHlsZXNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcclxuXHJcbi8vIEdyaWRzIChjaG9vc2Ugb25lKVxyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuXHJcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuLy8gQmFzaWMgY29tcG9uZW50c1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuLy8gQ29udGFpbmVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5cclxuLy8gTGF5b3V0IGNvbXBvbmVudHNcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xyXG4vLyBXZSB1c2Ugb3VyIG93biBtb2RhbCBzeXN0ZW0uXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XHJcbi8vIFVzaW5nIGN1c3RvbSBzdHlsZXMgZm9yIHRoaXMgZHVlIHRvIHRoZSBoZWFkZXIgYmVpbmcgc28gY29tcGxleC5cclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xyXG5cclxuLy8gSGVscGVyc1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcclxuXHJcbi8vIE1vdGlvbiBVSVxyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcclxuLy9AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcclxuXHJcbi8vIENvbXBvbmVudHMgdGhhdCBuZWVkIHRvIGJlIGxvYWRlZCBhZnRlciBmb3VuZGF0aW9uLlxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW1lbnVzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9wcm9kdWN0LWxpc3Quc2Nzc1wiO1xyXG5cclxuQGltcG9ydCAnLi4vZ2xvYmFsL2RlYnVnZ2VyJztcclxuXHJcbi8vLS0tLS0gR2xvYmFsIC0tLS0tIFxyXG46cm9vdCB7XHJcbiAgICAvLyBTZXQgQ1NTIHZhcmlhYmxlcy5cclxuXHJcbiAgICAvLyAtLS0gQ29sb3VyIFBhbGxldGUgLS0tLVxyXG4gICAgLy8gUHJpbWFyeVxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwicHJpbWFyeS1jb2xvdXJcIiwgJHByaW1hcnktY29sb3VyKTtcclxuICAgIC8vIFNlY29uZGFyeVxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwic2Vjb25kYXJ5LWNvbG91clwiLCAkc2Vjb25kYXJ5LWNvbG91cik7XHJcbiAgICAvLyBBY2NlbnQgMVxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci0xXCIsICRhY2NlbnQtY29sb3VyLTEpO1xyXG4gICAgLy8gQWNjZW50IDJcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItMlwiLCAkYWNjZW50LWNvbG91ci0yKTtcclxuICAgIC8vIEFjY2VudCAzXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTNcIiwgJGFjY2VudC1jb2xvdXItMyk7XHJcbiAgICAvLyBBY2NlbnQgNFxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci00XCIsICRhY2NlbnQtY29sb3VyLTQpO1xyXG4gICAgLy8gTmV1dHJhbCBDb2xvdXJcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcIm5ldXRyYWwtY29sb3VyXCIsICRuZXV0cmFsLWNvbG91cik7XHJcbiAgICAvLyBCbGFja1xyXG4gICAgLS1ibGFjay1jb2xvdXI6ICN7JGNvbG91cjJ9O1xyXG4gICAgLy8gV2hpdGVcclxuICAgIC0td2hpdGUtY29sb3VyOiAjeyRjb2xvdXIxfTtcclxuXHJcbiAgICAvLyBOb3RpZmljYXRpb24gQ29sb3Vycy5cclxuICAgIC8vLS1zdWNjZXNzLWNvbG91ci0wOiAjeyRzdWNjZXNzLWNvbG91cn07XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJzdWNjZXNzLWNvbG91clwiLCAkc3VjY2Vzcy1jb2xvdXIpO1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwid2FybmluZy1jb2xvdXJcIiwgJHdhcm5pbmctY29sb3VyKTtcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFsZXJ0LWNvbG91clwiLCAkYWxlcnQtY29sb3VyKTtcclxuXHJcbiAgICBcclxuXHJcbiAgICAvLyAtLS0gQ29udGVudCBXaWR0aCAtLS1cclxuICAgIC8vIENvbnRhaW5lciBNYXggV2lkdGhzLlxyXG4gICAgLS1jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6ICN7JGdsb2JhbC13aWR0aH07XHJcbiAgICAtLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAjeyRnbG9iYWwtdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGh9O1xyXG5cclxuICAgIC8vIC0tLSBGb250cyAtLS0tXHJcbiAgICBAZWFjaCAkZm9udC10eXBlLCAkZm9udC1uYW1lIGluICR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMge1xyXG4gICAgICAgIC0tI3skZm9udC10eXBlfTogI3skZm9udC1uYW1lfTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQm9yZGVyIFJhZGl1cyAtLS1cclxuICAgIC0tc21vb3RoLWVkZ2VzLWVuYWJsZWQ6ICN7JHNtb290aC1lZGdlcy1lbmFibGVkfTtcclxuICAgIC0tc21vb3RoLWVkZ2VzLWxldmVsOiAjeyRzbW9vdGgtZWRnZXMtbGV2ZWx9O1xyXG4gICAgLS1ib3JkZXItcmFkaXVzLTE6ICN7JGJvcmRlclJhZGl1czF9O1xyXG4gICAgLS1ib3JkZXItcmFkaXVzLTI6ICN7JGJvcmRlclJhZGl1czJ9O1xyXG5cclxuICAgIC8vIC0tLSBUeXBvZ3JhcGd5IC0tLVxyXG4gICAgLy8gTGluZSBoZWlnaHQuXHJcbiAgICAtLWdsb2JhbC1saW5lLWhlaWdodDogI3skZGVmYXVsdC1saW5lLWhlaWdodH07XHJcbiAgICAvLyBDb2xvdXIuXHJcbiAgICAtLXR5cG9ncmFwaHktYm9keS1mb250LWNvbG91cjogI3skYm9keS1mb250LWNvbG91cn07XHJcblxyXG4gICAgLy8gLS0tIEJ1dHRvbnMgLS0tXHJcbiAgICAtLWJ1dHRvbnMtYm9yZGVyLXJhZGl1czogI3skY29tbW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzfTtcclxuICAgIFxyXG59XHJcblxyXG4vLyBMb29wIHRocm91Z2ggZm9udCBzdGFja3MuXHJcbkBlYWNoICRrZXksICRtZXRyaWNzIGluICRmb250LWZhbGxiYWNrLW1ldHJpY3Mge1xyXG4gICAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICN7JGtleX0tZm9udCk7XHJcbiAgICAkbmFtZTogbnRoKCRmb250LWZhbWlseSwgMSk7XHJcbiAgICAkZmFsbGJhY2s6IG1hcC1nZXQoJG1ldHJpY3MsIGZhbGxiYWNrKTtcclxuICAgIEBpbmNsdWRlIGZvbnQtZmFsbGJhY2soJG5hbWUsICRmYWxsYmFjaywgJG1ldHJpY3MpO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIC8vIEFsbG93aW5nIGNvbnRlbnQgLyBmb290ZXIgdG8gdXNlIGZsZXgtZ3JvdyB3aGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggY29udGVudCB0byBmaWxsIHRoZSB2aWV3cG9ydC5cclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBEdWUgdG8gYSBidWcgd2l0aCBmb3VuYXRpb24ncyBndXR0ZXJzIHdoZW4geW91IHVzZSB0aGVtIGluIGEgbmVzdCBncmlkIGZvcm1hdCB0aGV5IGNhdXNlIGEgaG9yaXpvbnRhbCBzY3JvbGwgYmFyIHRvIGFwcGVhci5cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5ib2R5LnNjcm9sbExvY2sge1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcbi8vIFN1cHByZXNzaW5nIHRoaXMgdG8gYWxsb3cgZm9yIG1vcmUgc3BhY2UgZm9yIHRyZWUgbWVudSdzIGluIG1vYmlsZS5cclxuLy8gbWFpbiwgZm9vdGVyIC5yb3ctYmFja2dyb3VuZCB7XHJcbi8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuLy8gICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGFnZS1ndXR0ZXIpO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbm1haW4ge1xyXG4gICAgLy8gQ2FwcGluZyBtYWluIGNvbnRlbnQgYXQgMTkyMHB4IGFzIHRoZXJlIHN0aWxsIGlzIGVub3VnaCBvZiBhIGRlbWFpbiBvbiAyayBvciA0ayBzdXBwb3J0ICggaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9yL3dlYmRldi9jb21tZW50cy9tZ3U4NnUvcmVzcG9uc2l2ZV9kZXNpZ25fZm9yXzRrX3NjcmVlbnMvICkgYXMgb2YgMjAyNC5cclxuICAgIC8vIG1heC13aWR0aDogMTkyMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIEFsd2F5cyBhbGlnbiB0byB0aGUgbGVmdCB0aGVuIGFsbG93IGNoaWxkIGNvbnRhaW5zIHRvIHByb3ZpZGUgY2VudGVyIGFsaWdubWVudC5cclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgLy8gV2hlbiB0aGVyZSBpcyBub3QgZW5vdWdoIGNvbnRlbnQgdG8gZmlsbCB0aGUgdmlld3BvcnQgbWFrZSB0aGUgbWFpbiBjb250YWluZXIgZ3JvdyB0byBwdXNoIHRoZSBmb290ZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93LlxyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgJiA+IGRpdiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG4vLyBNYWtlIHN1cmUgaW1hZ2VzIHN0YXkgd2l0aGluIHRoZWlyIGNvbnRhaW5lcnMuXHJcbi5pbWFnZSBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmdyaWQteCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoO1xyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBtYXJnaW4gcnVsZSB3YXMgcHV0IGluIHBsYWNlIGZvciA+IDE5MjAgc2NyZWVucyBhcyB3ZSBkb24ndCB3YW50IGNvbnRlbnQgc3Bhbm5pbmcgYWNyb3NzIHRoZSBlbnRpcmUgdmlld3BvcnQgYnV0IHdhbnQgaXQgdG8gc3RpbGwgcmVtYWluIGNlbnRlcmFsaXNlZC4gQ3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHJlLXdyaXRpbmcgdGhlIGdyaWQgc3lzdGVtIHRvIHVzZSBHcmlkIGluc3RlYWQgb2YgRmxleGJveCwgZHVlIHRvIGhvdyBGb3VuZGF0aW9uIHVzZXMgbWFyZ2luIHRvIGNhbGN1bGF0ZSBpdHMgZ3V0dGVycyB0aGlzIGNhbm5vdCBiZSB1c2VkIHRvIGNlbnRlcmFsaXNlIHRoZSBjb250ZW50LCBsdWNraWx5IHRoZSBvbmx5IHBsYWNlIGF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhpcyB0aGF0IG5lZWRzIHRoaXMgaXMgbW9kdWxlcyB3aGljaCBubyBsb25nZXIgdXNlcyBmb3VuZGF0aW9uJ3MgZ3JpZCAoIGludGVybXMgb2YgY29udGVudCBidXQgc2l0cyB3aXRoaW4gaXQgKVxyXG4gICAgJjpub3QoLmdyaWQtbWFyZ2luLXgpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gQWRkaW5nIDAgdG9wICsgYm90dG9tIG90aGVyd2lzZSBsaXN0aW5nIHBhZ2Ugd291bGQgdmVydGljYWxseSBhbGlnbiBpbiB0aGUgY2VudGVyIG9mIHRoZSBjb250YWluZXIuXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAvLyBTZXR0aW5nIHdpZHRoOiAxMDAlOyBkdWUgdGhlIG1haW4gdXNpbmcgZmxleGJveCBsYXlvdXQgb3RoZXJ3aXNlIGNvbnRhaW5lcnMgd2VyZSBmaXR0aW5nIHRoZWlyIGNvbnRlbnQgaW5zdGVhZCBvZiBmaXR0aW5nIHRoZSBhdmFpbGFibGUgd2lkdGguXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTWFrZSB0aGUgY29udGFpbmVyIHRha2UgYXMgbXVjaCB2ZXJ0aWNhbCBzcGFjZSBhcyBhdmFpbGFibGUuXHJcbiAgICAmLmNvbnRhaW5lci1ncm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIC5hbGlnbi1jZW50ZXIge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi8vIEdlbmVyYWwgaHIgZm9ybWF0dGluZy5cclxuaHIge1xyXG4gICAgJi5tb2JpbGUtc2VwZXJhdG9yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2Zvb3Rlci1ndG0td2lkZ2V0IHtcclxuICAgIG1hcmdpbi10b3A6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4jZ3JvdXAtYmFubmVyLWNhcm91c2VsLWNvbnRhaW5lciwgLmdyb3VwLWJhbm5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4jY2F0ZWdvcnlHcmlkT3ZlcnJpZGUge1xyXG4gICAgLy9PdmVycmlkaW5nIHRoZSBmb3VuZGF0aW9uJ3MgZGVmYXVsdCBncmlkIGFzIHRoZSBkZXNpZ24gY2FsbGVkIGZvciBhIDUgY29sdW1uIGxheW91dC5cclxuICAgIC5sYXJnZS0yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDIuMik7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2NhdGVnb3J5SGVhZGluZywgI3Byb2R1Y3RMaXN0SGVhZGluZyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ucG9wdXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuI2Jhc2tldFN1bW1hcnlDb250YWluZXI6aG92ZXIge1xyXG4gICAgI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG91cjQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNyZWdpc3Rlci1zdWJtaXQge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkZm9yZ290dGVuLXBhc3Nvd3JkLWFuY2hvci1mb250LXN0eWxlO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcbiAgICBAaWYgKCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyLCBob3Zlcik7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBBZGRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBoZWFkZXItY29tcG9uZW50cy5odG1sIC4uLiBpIGtub3cgaXQgZGVwcmVjYXRlZCBqdXN0IGEgcXVpY2sgYW5kIGRpcnR5IGdldCBvdXQuXHJcbnhtcCB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xyXG59XHJcblxyXG4uYW5pbWF0ZV9fYW5pbWF0ZWQge1xyXG4gICAgJjpub3QoLmFuaW1hdGVkLWNvbnRlbnQtYWN0aXZlKSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4uanNvbi1jb2RlLWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIGNtcy1jb2RlKCk7XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkY29sdW1ucywgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW4tY291bnQpO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xuXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZShkaXZpZGUoJHBvc2l0aW9uLCAkZ3JpZC1jb2x1bW4tY291bnQpKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIl19 */
